Marc-André Lureau
9033b26976
renderer: validate num_so_outputs
...
Avoid out-of-bound acces of array so_info.output.
Fix found thanks to american fuzzy lop.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
9 years ago
Marc-André Lureau
bc358da307
decode: prevent handle 0 object creation
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
9 years ago
Dave Airlie
85602b31bd
renderer: fix regression in shader binding
...
made a mistake in the shader binding code, not good,
time for brown paper bag.
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
81b741a05c
virgl/shaders: handle large shaders.
...
the protocol failed to handle larger shaders, this allow
the renderer to reassemble large shaders and recombined
the chunks before passing them to the GLSL translation.
This also enhances the renderer protocol to allow
for some more info in the shader object, and removes
the separate vs/gs/fs variants in favour of a type field
in the shader.
9 years ago
Dave Airlie
fd8116476b
virgl: add query index to top 16-bits of query type.
...
This is an ABI valid change, we won't get passed indices
unless we advertise later GLSL versions.
9 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
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
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
f6a786c6ea
renderer: allow binding 0 vbos
...
This was broken calculation, we should allow binding 0 vbos.
10 years ago
Dave Airlie
3f4e3e1cad
renderer: add support for ARB_viewport_array
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
1fe0822ff4
renderer: fix bug transfer inline write decoding
...
cleanup a little, but also read layer stride from correct place
found writing validation tests.
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
Marc-André Lureau
58ef21b0b8
vrend: accept empty vertex elements
...
Vertex elements may have a count of 0, this is an acceptable value.
Fix piglit spec/glsl-1.50/execution/geometry/primitive-types
gl_triangle_fan test.
10 years ago
Marc-André Lureau
e094ca79f9
vrend: return EINVAL for unknown object type
10 years ago
Dave Airlie
fa71f3761d
renderer: free vertex element data
...
this is duplicated by the renderer so free the decoder data.
found with rendering test
10 years ago
Dave Airlie
3d91ff730e
renderer: cleanup context create errors and context destroy
10 years ago
Dave Airlie
96e1b0b693
renderer: reset decode contexts in two stages
...
reset the non-0 contexts first, then kill resource
table, then nuke the 0 context.
10 years ago
Dave Airlie
8ea7848b6e
virglrenderer: fix some memory leaks on cleanup
...
Writing some unit tests with valgrind, showed we don't always
cleanup properly fix that.
10 years ago
Dave Airlie
03e3116a75
import latest renderer code
10 years ago