r600/eg: workaround bug with tess shader and dynamic GPRs.
authorDave Airlie <airlied@redhat.com>
Mon, 30 Nov 2015 05:22:06 +0000 (15:22 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 6 Dec 2015 23:59:01 +0000 (09:59 +1000)
commit09d25a9b37eeb34b3475fe486b82e12e904bcb28
tree637dc7af95cb9f6ccf5f0b3b429a69750772db39
parentd87f54f2254344a02a8f1b2e141c9894b3b74864
r600/eg: workaround bug with tess shader and dynamic GPRs.

When using tessellation on eg/ni chipsets, we must disable
dynamic GPRs to workaround a hw bug where the GPU hangs
when too many things get queued.

This implements something like the r600 code to emit
the transition between static and dynamic GPRs, and to
statically allocate GPRs when tessellation is enabled.

Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/evergreen_compute.c
src/gallium/drivers/r600/evergreen_state.c
src/gallium/drivers/r600/r600_hw_context.c
src/gallium/drivers/r600/r600_pipe.h
src/gallium/drivers/r600/r600_state_common.c