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
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
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
a088746d7a
renderer: handle block formats better
...
This calculates the size better for block based formats.
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
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
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
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
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
0ff22a06b7
renderer: ABI break: overhaul viewport/scissor state
...
add support for multiple viewports, and reduce
viewport size.
10 years ago
Dave Airlie
e13ebc57e1
renderer: move away from pipe bind flag definitions.
10 years ago
Dave Airlie
dfd7749ddb
renderer: refactor iov bounds checking
...
take the user supplied stride and layer stride into a/c
when calculating the amount of memory required to read/write
from the user supplied iovec.
10 years ago
Dave Airlie
20e86f1771
renderer: validate layer stride isn't set for some texture types
...
Some texture types have no layers, so a non-zero layer stride makes
no sense.
10 years ago
Dave Airlie
6495f870b4
renderer: block resource creation for mipmaps
...
Some scenarios for mipmap creation are illegal, so block them.
10 years ago
Dave Airlie
5e975c6a2e
renderer: switch hw contexts outside the transfer iov
...
this fixes a regression since the transfer inline rewrite
10 years ago
Marc-André Lureau
cd69deebad
Remove INLINE, use inline instead
...
Similar to MESA recent change
10 years ago
Dave Airlie
aea7785887
renderer: handle resource inline writes using common code
...
inline resource writes should use common code for transfers
10 years ago
Dave Airlie
cccbc3b5e4
renderer: return values from submit_cmd/decode block
...
makes easier to write unit tests.
10 years ago
Dave Airlie
bc975ef808
virgl/transfer: take transfer offset into a/c
...
This checks the offset can fit inside the iovec
10 years ago
Marc-André Lureau
6948e60c74
renderer: fix check for streamout target object insert
10 years ago
Dave Airlie
3a04ee4a16
renderer: drop pointless emit depth range
10 years ago
Dave Airlie
12bf136ae7
renderer: drop hw_emit_blend_color
...
no longer required since ctx
10 years ago
Dave Airlie
1b3960a150
renderer: some minor cleanups
10 years ago
Marc-André Lureau
85bfbb4443
query: fix glean/occluQry test
...
It is bad to sum up all the subsequent Begin/End values of a query,
since glBeginQuery should always reset the counter.
[airlied: I'm not 100% sure we'll never need this, but I think
sub contexts work around the problem I was initially seeing.]
10 years ago
Dave Airlie
2258a66f61
renderer: drop ctx query handling code
...
also drop active_hw flag
10 years ago
Marc-André Lureau
6fc3a2c9b5
renderer: link shaders and programs so things can be freed.
...
We need to link the shaders to the programs to ensure things
can be freed properly. This fixes a problem with glean
texCombine also.
10 years ago
Marc-André Lureau
5ddb7c3d0a
renderer: split destroy program out from free programs
...
Split out from Marc-André's larger patchset.
10 years ago
Dave Airlie
e2b6de9a89
renderer: drop reference to any shaders in sub context destroy.
...
We were holding onto a reference for these, causing a leak.
10 years ago
Dave Airlie
9537d5a6dc
renderer: only allocate ubo_locs when required
...
This fixes a valgrind warning.
10 years ago
Dave Airlie
a0074a2f1b
renderer: free timer query properly
...
Reported-by: Marc-André Lureau <marcandre.lureau@gmail.com>
10 years ago
Dave Airlie
040df0b86c
renderer: use names instead of numbers for shader indexes
10 years ago
Marc-André Lureau
abff45cff0
transfer: check iov size on all transfers
10 years ago
Marc-André Lureau
b5be63c8dc
Fix cursor resource creation
10 years ago
Dave Airlie
83d7fbb0d7
renderer: overhaul transfer code a bit
...
This merges the error/bounds checking on the transfer
code, but keeps the same API, it also uses a struct
to pass through the transfer info.
this also passes a return value out to make testing easier.
10 years ago