diff --git a/.pick_status.json b/.pick_status.json index 4a44fed47b5..b8b69a9c687 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -484,7 +484,7 @@ "description": "anv: flush render caches on first pipeline select", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "e6dae6ef5fc134f9ed5dd93b1a462084bc3aadfd", "notes": null diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 75524290efb..ca89bef93f0 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -4867,7 +4867,11 @@ genX(flush_pipeline_select)(struct anv_cmd_buffer *cmd_buffer, */ bits |= ANV_PIPE_CS_STALL_BIT | ANV_PIPE_HDC_PIPELINE_FLUSH_BIT; - if (cmd_buffer->state.current_pipeline == _3D) { + if (cmd_buffer->state.current_pipeline == UINT32_MAX) { + bits |= ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT | + ANV_PIPE_DEPTH_CACHE_FLUSH_BIT | + ANV_PIPE_UNTYPED_DATAPORT_CACHE_FLUSH_BIT; + } else if (cmd_buffer->state.current_pipeline == _3D) { bits |= ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT | ANV_PIPE_DEPTH_CACHE_FLUSH_BIT; } else {