Dave Airlie
b3d5589897
renderer: split vertex element/vbo binding code out
...
this just moves the code to a separate function,
without changing anything.
10 years ago
Dave Airlie
9259bc768e
renderer: handle transform feedback 2 and 3 extensions
...
This fixes a number of issues with how transform feedback works
it does requires ARB_transform_feedback3 to work at all, but
hopefully this extension is widespread enough, if not we can
revisit later.
It uses transform feedback objects to store the stream out
state.
10 years ago
Dave Airlie
c89bb9c5f9
renderer: advertise tf2/3 on guest side.
...
if we have tf3, advertise it.
10 years ago
Dave Airlie
3b6f3d9301
renderer: fix separate transform feedback
...
if we are writing to separate buffers use the gl_NextBuffer
from ARB_transform_feedback3.
fixes: ext_transform_feedback-separate attribs
10 years ago
Dave Airlie
3b8a774758
renderer: transform feedback fixes
...
Impedance match the gallium and GL transform APIs,
we can't begin before draw vbo but we should only
end when the guest disconnects all buffers
using tfb pause/resume to make things better.
fixes: ext_transform_feedback-intervening-read
10 years ago
Dave Airlie
68a9193e04
renderer: use DrawElementsInstancedBaseVertex for instance + bias
...
Fixes: arb_draw_elements_base_vertex-drawelements-instanced
10 years ago
Dave Airlie
e416e18569
renderer: use debug name in some more debug statements
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
7710274294
renderer: add base instance support for instanced arrays
...
fixes: arb_base_instance-drawarrays
10 years ago
Dave Airlie
c6dc6acf27
renderer: fix layered depth clears.
...
fixes: gl-3.2-layered-rendering-clear-depth
10 years ago
Dave Airlie
e5b4d12cab
renderer: start of fix to srgb framebuffer
...
the main test still fails, but this should fix some of them.
10 years ago
Dave Airlie
d0f866ad4b
renderer: fix blitter cube map array shader
...
this needs an extension enabled to work.
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
08a215de78
renderer: if the srgb state changes dirty samplers
...
srgb decode is part of sampler state, so if we are using
samplers just dirty the sampler state.
fixes: tex-srgb
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
bdbf734fa2
renderer/egl: decrease egl debug output
...
this just removes this from the common output
10 years ago
Dave Airlie
a088746d7a
renderer: handle block formats better
...
This calculates the size better for block based formats.
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
Dave Airlie
249c29545c
renderer: reverse the ordering for draw elements
...
make instanced override range.
10 years ago
Marc-André Lureau
cba6a1c221
renderer: bind sampler to the texture unit
...
Bind the sampler to the associated texture unit (not to the view).
Fix spec/!opengl 2.0/max-samplers border
10 years ago
Dave Airlie
40c6352233
renderer: fix resource reference tracking
...
we need to remove resources from all contexts when the handle
is unrefed, stops us getting a ref to an unused handle.
ctx references are not full references
10 years ago
Dave Airlie
16c60d5abf
renderer: fix transfer sizes and packing
...
row length is in pixels not bytes, and transfer size
should use the iov siz. for single iov case.
10 years ago
Marc-André Lureau
e9ca2d4ad3
blitter: fix invalid texelFetch call
...
Triggered by piglit/bin/ext_framebuffer_multisample-no-color 2 depth single -auto -fbo
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
444f661736
formats: fix byte order of BGRA
...
I am a bit confused by the docs, but it fixes piglit spec/!opengl
1.1/draw-pixels.
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
Marc-André Lureau
5f3f9459d6
Fix segfault if vrend_shader_select() failed on GS
...
Signed-off-by: Dave Airlie <airlied@gmail.com>
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
ac972775ef
renderer: fix encoding on stream output
10 years ago
Dave Airlie
44a7c8cf99
renderer: some minor cleanups
...
don't call same functions twice in 2 places, don't
bother hand cleaning up stuff
10 years ago
Dave Airlie
431c818c6a
renderer: move some more stuff into ctx state
...
with contexts we don't need this in the global state.
10 years ago
Dave Airlie
b1109ee664
renderer: move program id into context
...
no point in having this in global state anymore
10 years ago
Dave Airlie
c2d68e9995
renderer: move some global state into contexts.
...
This stuff isn't required since the renderer uses contexts now
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
f6a786c6ea
renderer: allow binding 0 vbos
...
This was broken calculation, we should allow binding 0 vbos.
10 years ago
Dave Airlie
869a6aa5f5
renderer: add ARB_vertex_type_10f_11f_11f_rev support
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
Marc-André Lureau
19fae107e9
Fix VIRGL_SET_SCISSOR_MAXX_MAXY
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
Dave Airlie
3dcc980055
renderer: add some more caps info
...
this is jsut for 3 trivial extensions
10 years ago
Dave Airlie
0ff22a06b7
renderer: ABI break: overhaul viewport/scissor state
...
add support for multiple viewports, and reduce
viewport size.
10 years ago