diff options
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.h')
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index d7af6180641..f0d4be48142 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -507,6 +507,16 @@ struct r600_context { void *sb_context; struct r600_isa *isa; + + /* Work-around for flushing problems with compute shaders on Cayman: + * Emitting a SURFACE_SYNC packet with any of the CB*_DEST_BASE_ENA + * or DB_DEST_BASE_ENA bits set after dispatching a compute shader + * hangs the GPU. + * + * Setting this to true will prevent r600_flush_emit() from emitting + * a SURFACE_SYNC packet. This field will be cleared by + * by r600_context_flush() after flushing the command stream. */ + boolean skip_surface_sync_on_next_cs_flush; }; static INLINE void r600_emit_command_buffer(struct radeon_winsys_cs *cs, |