Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
we just have nothing to do in it right now
|
|
|
|
|
|
Keep min_index and max_index at their defaults (0 and ~0).
|
|
|
|
It seems we never get semantic id from TGSI so fallback
to use output number as id.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
|
|
|
|
If we crash in the jitted function we can examine jit_line and
jit_state in gdb to learn more about the shader.
|
|
Make sure that all the element indexes actually lie inside the vertex
buffer.
Also, rename pipe_run() to pipe_run_elts() to be more specific.
And assert/check the vertex count for the non-indexed case.
|
|
|
|
Plumb the constant buffer sizes down into the tgsi interpreter where
we can do bounds checking. Optional debug code warns upon out-of-bounds
reading. Plus add a few other assertions in the TGSI interpreter.
|
|
|
|
|
|
Add mipmap support (demos/src/redbook/mipmap is working)
Add EX2/ABS shader instruction support.
Add face culling support.
Misc fixes.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
The Draw flush inside r300_flush was the culprit.
Also, no need to flush Draw when changing a state since the flush is
already inside swtcl_draw_vbo.
|
|
|
|
|
|
Fixes a failed assertion with LLVM 2.6:
<unnamed>::JITResolver::JITResolver(llvm::JIT&): Assertion
`TheJITResolver == 0&& "Multiple JIT resolvers?"' failed.
Though, not everyone seems to experience this problem.
|
|
|
|
This reverts commit 5f90e76c54bbf4456c977b3cbca450d7a570179e.
Bad cherry-pick.
|
|
If y==NULL and y_stride==NULL it means the texture is 1D. Return
zero for out_i and the offset instead of garbage.
|
|
Useful for packing mask values.
|
|
Less susceptible to be broken.
|
|
|
|
Unfortunately LLVM doesn't emit EMMS itself, and there is no
easy/effective way to disable MMX.
http://llvm.org/bugs/show_bug.cgi?id=3287
|
|
Unnecessary.
|
|
This is only compile tested.
|
|
The other drawing variants such as draw_arrays or
draw_elements_instanced were removed.
This fixes fdo bug #29287.
|
|
This fixes fdo bug #29286.
|
|
Document the new unified drawing method and remove references to old
ones.
|
|
That is, remove pipe_context::draw_arrays, pipe_context::draw_elements,
pipe_context::draw_arrays_instanced,
pipe_context::draw_elements_instanced,
pipe_context::draw_range_elements.
|
|
Update u_draw_quad, st/vega, and st/mesa to use pipe_context::draw_vbo.
|
|
Some drivers define a generic function that is called by all drawing
functions. To implement draw_vbo for such drivers, either draw_vbo
calls the generic function or the prototype of the generic function is
changed to match draw_vbo.
Other drivers have no such generic function. draw_vbo is implemented by
calling either draw_arrays and draw_elements.
For most drivers, set_index_buffer does not mark the state dirty for
tracking. Instead, the index buffer state is emitted whenever draw_vbo
is called, just like the case with draw_elements. It surely can be
improved.
|
|
This commit adds a new unified draw_vbo method to pipe_context. Unlike
other draw methods, draw_vbo treats the index buffer as a state which is
set with set_index_buffer.
|
|
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
I am not sure how to properly handle flat shading regarding
non color parameter to fragment shader. It seems we should
still interpolate non color using linear interpolation and
flat shade only apply to color.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Split hw vs pipe states creation handling as hw states group doesn't
match pipe state group exactly. Right now be dumb about that and
rebuild all hw states on each draw call. More optimization on that
side coming.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Use a common function, fix the mess it was before.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Previous patch added literal emission to wrong place, we
want to emit literal before emitting a new alu group.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
|
|
|
|
For some reason gallium hands us something with lots of empty views, and
we are expected to deal with it, just do what r300g does for this bit.
|
|
|
|
|