diff options
author | Marek Olšák <[email protected]> | 2014-03-09 22:12:26 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-03-11 18:51:20 +0100 |
commit | f549129564e018e21f58483f697cc7073854247b (patch) | |
tree | 1effcfe3311d02629a33fe1dd2c927a3c83eb0a6 /src/gallium/drivers/radeonsi/si_pipe.h | |
parent | 958ef47a6dea652d79a676625b69b3dec6042395 (diff) |
r600g, radeonsi: fix primitives-generated query with disabled streamout
Buffers are disabled by VGT_STRMOUT_BUFFER_CONFIG, but the query only works
if VGT_STRMOUT_CONFIG.STREAMOUT_0_EN is enabled.
This moves VGT_STRMOUT_CONFIG to its own state. The register is set to 1
if either streamout or the primitives-generated query is enabled.
However, the primitives-emitted query is also incremented, so it's disabled
by setting VGT_STRMOUT_BUFFER_SIZE to 0 when there is no buffer bound.
This fixes piglit:
ARB_transform_feedback2/counting with pause
EXT_transform_feedback/primgen-query transform-feedback-disabled
Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pipe.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pipe.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h index e8aa13e2df8..47dc8e754ee 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.h +++ b/src/gallium/drivers/radeonsi/si_pipe.h @@ -108,6 +108,7 @@ struct si_context { * updated in memory. */ struct r600_atom *cache_flush; struct r600_atom *streamout_begin; + struct r600_atom *streamout_enable; /* must be after streamout_begin */ struct r600_atom *framebuffer; }; struct r600_atom *array[0]; |