Marc-André Lureau
55a34e71e8
shader: fixes piglit layer-gs-no-write
...
Fix using undeclared gl_Layer from fragment shader.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
9 years ago
Dave Airlie
d413cba1e9
renderer: handle gaps in vertex shader inputs
...
We are seeing shaders with 0 and 2 inputs, but no 1, so we need
to handle gaps properly.
This fixes some regressions in drawpixels after some mesa changes
on the guest.
9 years ago
Marc-André Lureau
d6ade3c0c3
shader: improve TXQ translation
...
TXQ may query levels and size.
Fixes all piglit texturesize tests and others.
[airlied: use EMIT_BUF_WITH_RET].
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Marc-André Lureau
175292b2df
Fix alpha-test regression
...
Commit 53286c6f5a
introduced a regression, there is a missing break in the switch..
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Marc-André Lureau
c01d5be76a
shader: add a few handled texture type
...
This is a regression fix from c59eddf16e
.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
9 years ago
Marc-André Lureau
1d2a61788f
Fix potential leak in fill_interpolants()
...
Fix found thanks to AddressSanitizer & piglit
glsl-1.50/execution/built-in-functions/gs-pow-vec3-vec3.shader_test.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
9 years ago
Marc-André Lureau
53286c6f5a
Fix -Wformat-nonliteral warnings
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Marc-André Lureau
c59eddf16e
Fix -Wswitch-default
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Dave Airlie
94d697dca6
renderer: fix a couple of shadowed variable declarations.
...
This fixes a couple of -Wshadow warnings.
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Dave Airlie
454a868a8b
renderer: make some char * into const char *.
...
This fixes a bunch of warnings about losing constness.
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Marc-André Lureau
2c6081225b
shader: fix potential leak
...
Found thanks to llvm scan-build.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
9 years ago
Dave Airlie
43a8e9c749
shader: don't use a single temps array
...
Create a bunch of temp arrays based on the input TGSI
ranges. Otherwise the temps code triggers a lack of
some passes in the mesa GLSL compiler.
A large shader from shadertoy triggered 1m30s compile in mesa
due to the large temp array.
Reported-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Dave Airlie
9787608091
gallium/tgsi: update with some newer gallium pieces
...
This updates the tgsi code from mesa, it introduces
changes necessary to deal with tessellation and doubles.
It also drops an unused saturate feature, which we didn't
use anyways.
9 years ago
Dave Airlie
bd64c81fc2
renderer: handle rendering to A8 surfaces.
...
I'm not sure this is 100% complete, piglit fbo-alpha now passes.
This was a guess as to why gnome-shell was broken, but I don't think
it was the correct one.
9 years ago
Dave Airlie
ee45480c5d
renderer: fix GLSL1.30 shader translation
...
If we were running on a GLSL 1.30 backend, shader translation
was broken.
9 years ago
Dave Airlie
031d582bc1
renderer: emit clip distances before emitting position
...
This fixes piglit fixed-clip-enables test.
9 years ago
Dave Airlie
92b00c978b
renderer: CLEANUP - remove TABs
...
I didn't do a good enough job last time at purging these.
9 years ago
Dave Airlie
25f4d39b50
virgl: use shader stencil export if it's available.
9 years ago
Dave Airlie
9921144812
shader: fix two sided color interpolation
...
We need to declare both colors if we declare one, so the
vertex and fragment shaders link.
Fixes glsl-1.10 interpolation* and glsl-1.30 interpolation*
9 years ago
Dave Airlie
674d730e90
shader: drop the unsupported file declaration for sampler views
...
These aren't required to be parsed, but we can them.
9 years ago
Dave Airlie
38f01a3daf
renderer: reorder some structs to remove holes
10 years ago
Dave Airlie
7e85c2f114
renderer: CLEANUP: whitespace and reindent
...
this uses the mesa coding style, pray I never have to do
this again.
strip all trailing whitespace as much as possible
10 years ago
Dave Airlie
aca150b35b
renderer: move explicit locations hack into shader cfg
10 years ago
Dave Airlie
ca23e98b22
renderer: CLEANUP: boolean/GLboolean -> bool
...
use stdbool.h as much as possible
some of the gallium code imported uses boolean
so leave it alone for now
10 years ago
Dave Airlie
1af42f7a98
renderer: emit prescale from geom shader when present
...
the scaling stuff needs to happen in the geom shader instead
of the vertex shader if a geom shader is present.
fixes: tests/spec/glsl-1.50/execution/geometry/core-inputs.shader_test
10 years ago
Dave Airlie
ae4c0331fb
renderer: handle clip distance input to frag shader
...
this fixes:
tests/spec/glsl-1.50/execution/geometry/clip-distance-itemized-copy.shader_test
tests/spec/glsl-1.50/execution/geometry/clip-distance-bulk-copy.shader_test
10 years ago
Dave Airlie
00850485f6
renderer: move glsl ver and processor to iterator prolog
...
for shaders with no declerations these were never happening.
fixes: tests/spec/glsl-1.50/execution/geometry/clip-distance-out-values.shader_test
10 years ago
Dave Airlie
80eaec7aef
renderer: fix clipvertex transform feedback
...
if we are emulating clipvertex we need to route transform
feedback correctly for it.
fixes ext_transform_feedback-builtin-varyings gl_ClipVertex
10 years ago
Dave Airlie
a0d6d28266
renderer: fix transform feedback for gl_Position
...
need to emit the position before the winsys adjust happens.
fixes ext_transform_feedback-builtin-varyings gl_Position
10 years ago
Marc-André Lureau
043320c4f1
shader: better type promotion for comparison op
...
This is an improvement from ee7852525: the right source type is
used.
Fixes piglit spec/glsl-1.50/execution/built-in-functions/gs-equal-ivec2-ivec2
10 years ago
Marc-André Lureau
400c7df8b5
shader: use uint comparison for UCMP
...
Fixes a few piglit tests, such as:
spec/glsl-1.30/execution/switch/fs-default_last
10 years ago
Marc-André Lureau
7f050c7e5b
shader: restore the original CMP
...
e4880f6b
broke the original CMP translation that looks correct
10 years ago
Marc-André Lureau
002354dd91
shader: use writemask for op1
...
Fixes piglit glsl-vec-array test
10 years ago
Dave Airlie
26aa5bf620
renderer: remove unneeded printf
10 years ago
Dave Airlie
803e90e76a
renderer: fix frontfacing conversion from TGSI->GLSL
...
TGSI expects -1.0, 1.0, GLSL is 0.0, 1.0 so convert.
Alternate fix to Marc-Andre's fix.
10 years ago
Marc-André Lureau
fc7e0ef0fb
shader: add a check for number of imm and ubo
...
I think UBO limit is 32, but IMM is not, so we better had some checks to
avoid overflow
10 years ago
Dave Airlie
9e5bd0dbf0
renderer: handle illegal so values better
...
This stops the guest from crashing the parser here,
if it gives us so entries that are invalid.
10 years ago
Dave Airlie
c13ac6fcd5
renderer: limit immediates to a higher number
...
varying-packing-simple float separate was overflowing
the immediate pool, so add a limit, then increase
the limit so test passes.
10 years ago
Dave Airlie
dac4578a37
renderer: make sure to get glsl 1.50 for interface blocks
...
we can't emit an interface block in glsl 1.40
10 years ago
Dave Airlie
cba784dfaf
renderer: add arb_texture_gather support
...
This just adds support for the basic TG4 opcode,
the GS5 variant is a bit more work.
10 years ago
Dave Airlie
c66f8b23d9
renderer: add support for ARB_texture_query_levels
10 years ago
Dave Airlie
3f4e3e1cad
renderer: add support for ARB_viewport_array
10 years ago
Dave Airlie
78370e879f
renderer: add initial texture_query_lod support
10 years ago
Marc-André Lureau
b6971e08b8
shader: ignore empty color mask in emit_color_select()
...
Fixes piglit interpolation-flat-other-flat-none.shader_test
10 years ago
Marc-André Lureau
dd954de6e0
shader: fix uniform buffer object size
...
Size of array is Range.Last+1, like other declarations
Fixes piglit spec/glsl-1.40/uniform_buffer/fs-basic
10 years ago
Marc-André Lureau
e4880f6bd3
shader: fix UCMP translation
10 years ago
Marc-André Lureau
ee78525252
shader: promote type for comparison with same type
...
Fixes some piglit test.
10 years ago
Dave Airlie
57646ceb4e
gallium: import more bits
10 years ago
Dave Airlie
03e3116a75
import latest renderer code
10 years ago
Dave Airlie
a3a2c64cd6
initial import of standalone renderer
11 years ago