cmd_buffer->state.compute.pipeline_dirty = true;
#endif
-
#if GFX_VERx10 < 125
/* We apparently cannot flush the tile cache (color/depth) from the GPGPU
* pipeline. That means query clears will not be visible to query
}
#endif
+ /* Flush and invalidate bits done needed prior PIPELINE_SELECT. */
+ enum anv_pipe_bits bits = 0;
+
#if GFX_VER >= 12
/* From Tigerlake PRM, Volume 2a, PIPELINE_SELECT:
*
* Note: Issuing PIPE_CONTROL_MEDIA_STATE_CLEAR causes GPU hangs, probably
* because PIPE was not in MEDIA mode?!
*/
- enum anv_pipe_bits bits = ANV_PIPE_CS_STALL_BIT |
- ANV_PIPE_HDC_PIPELINE_FLUSH_BIT;
+ bits |= ANV_PIPE_CS_STALL_BIT | ANV_PIPE_HDC_PIPELINE_FLUSH_BIT;
if (cmd_buffer->state.current_pipeline == _3D) {
bits |= ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT |
} else {
bits |= ANV_PIPE_UNTYPED_DATAPORT_CACHE_FLUSH_BIT;
}
- anv_add_pending_pipe_bits(cmd_buffer, bits, "flush PIPELINE_SELECT");
#else
/* From "BXML » GT » MI » vol1a GPU Overview » [Instruction]
* PIPELINE_SELECT [DevBWR+]":
* Note the cmd_buffer_apply_pipe_flushes will split this into two
* PIPE_CONTROLs.
*/
- anv_add_pending_pipe_bits(cmd_buffer,
- ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT |
- ANV_PIPE_DEPTH_CACHE_FLUSH_BIT |
- ANV_PIPE_HDC_PIPELINE_FLUSH_BIT |
- ANV_PIPE_CS_STALL_BIT |
- ANV_PIPE_TEXTURE_CACHE_INVALIDATE_BIT |
- ANV_PIPE_CONSTANT_CACHE_INVALIDATE_BIT |
- ANV_PIPE_STATE_CACHE_INVALIDATE_BIT |
- ANV_PIPE_INSTRUCTION_CACHE_INVALIDATE_BIT |
- ANV_PIPE_UNTYPED_DATAPORT_CACHE_FLUSH_BIT,
- "flush and invalidate for PIPELINE_SELECT");
+ bits |= ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT |
+ ANV_PIPE_DEPTH_CACHE_FLUSH_BIT |
+ ANV_PIPE_HDC_PIPELINE_FLUSH_BIT |
+ ANV_PIPE_CS_STALL_BIT |
+ ANV_PIPE_TEXTURE_CACHE_INVALIDATE_BIT |
+ ANV_PIPE_CONSTANT_CACHE_INVALIDATE_BIT |
+ ANV_PIPE_STATE_CACHE_INVALIDATE_BIT |
+ ANV_PIPE_INSTRUCTION_CACHE_INVALIDATE_BIT |
+ ANV_PIPE_UNTYPED_DATAPORT_CACHE_FLUSH_BIT;
#endif
+
+ anv_add_pending_pipe_bits(cmd_buffer, bits, "flush/invalidate PIPELINE_SELECT");
genX(cmd_buffer_apply_pipe_flushes)(cmd_buffer);
#if GFX_VER == 9