* streamer stall. However, the hardware seems to violently disagree.
* A full command streamer stall seems to be needed in both cases.
*/
- anv_batch_emit(&cmd_buffer->batch, GENX(PIPE_CONTROL), pc) {
- pc.DepthCacheFlushEnable = true;
- pc.CommandStreamerStallEnable = true;
- pc.RenderTargetCacheFlushEnable = true;
+ genX(batch_emit_pipe_control)
+ (&cmd_buffer->batch, cmd_buffer->device->info,
+ ANV_PIPE_DEPTH_CACHE_FLUSH_BIT |
+ ANV_PIPE_CS_STALL_BIT |
#if GFX_VER >= 12
- pc.TileCacheFlushEnable = true;
+ ANV_PIPE_TILE_CACHE_FLUSH_BIT |
#endif
-
-#if INTEL_NEEDS_WA_1409600907
- /* Wa_1409600907: "PIPE_CONTROL with Depth Stall Enable bit must
- * be set with any PIPE_CONTROL with Depth Flush Enable bit set.
- */
- pc.DepthStallEnable = true;
-#endif
- }
+ ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT);
#if GFX_VER == 9
-
uint32_t cache_mode;
anv_pack_struct(&cache_mode, GENX(CACHE_MODE_0),
.STCPMAOptimizationEnable = enable,
* Again, the Skylake docs give a different set of flushes but the BDW
* flushes seem to work just as well.
*/
- anv_batch_emit(&cmd_buffer->batch, GENX(PIPE_CONTROL), pc) {
- pc.DepthStallEnable = true;
- pc.DepthCacheFlushEnable = true;
- pc.RenderTargetCacheFlushEnable = true;
+ genX(batch_emit_pipe_control)
+ (&cmd_buffer->batch, cmd_buffer->device->info,
+ ANV_PIPE_DEPTH_STALL_BIT |
+ ANV_PIPE_DEPTH_CACHE_FLUSH_BIT |
#if GFX_VER >= 12
- pc.TileCacheFlushEnable = true;
+ ANV_PIPE_TILE_CACHE_FLUSH_BIT |
#endif
- }
+ ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT);
}
UNUSED static bool