r600g: Implement GL_ARB_draw_indirect for EG/CM

Graphics / Mesa 3D Graphics Library / Mesa - Glenn Kennard [gmail.com] - 24 February 2015 14:21 UTC

Requires Evergreen/Cayman and radeon kernel module 2.41.0 or newer.

Expected piglit fails due to hardware limitations:
- arb_draw_indirect-draw-arrays-prim-restart Restarts not applied for DrawArrays commands
- arb_draw_indirect-vertexid Base vertex offset is not included in vertex id

Marek: bump vgt_state num_dw by 3 (= space needed for one register write)

d80701d r600g: Implement GL_ARB_draw_indirect for EG/CM
docs/GL3.txt | 6 +-
docs/relnotes/10.6.0.html | 1 +
src/gallium/drivers/r600/evergreen_state.c | 2 +-
src/gallium/drivers/r600/evergreend.h | 1 -
src/gallium/drivers/r600/r600_asm.c | 2 +-
src/gallium/drivers/r600/r600_pipe.c | 4 +-
src/gallium/drivers/r600/r600_pipe.h | 3 +-
src/gallium/drivers/r600/r600_shader.c | 10 +-
src/gallium/drivers/r600/r600_sq.h | 4 +
src/gallium/drivers/r600/r600_state.c | 2 +-
src/gallium/drivers/r600/r600_state_common.c | 128 +++++++++++++++++++++-----
src/gallium/drivers/r600/r600d.h | 8 +-
12 files changed, 133 insertions(+), 38 deletions(-)

Upstream: cgit.freedesktop.org


  • Share