From cccb5e36f15682670246166f0f02cdec01f135b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Thu, 7 Mar 2024 07:52:07 -0800 Subject: [PATCH] anv: Call flush_pipeline_select_gpgpu() for compute engines in compute code paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These 2 compute code paths were checking for anv_cmd_buffer_is_render_queue() before calling flush_pipeline_select_gpgpu() causing cmd_buffer->state.current_pipeline to never to be set to GPGPU, trigerring assert(cmd_buffer->state.current_pipeline == GPGPU) when running in the compute engine. So here just dropping the anv_cmd_buffer_is_render_queue() check. Reviewed-by: Lionel Landwerlin Signed-off-by: José Roberto de Souza Part-of: --- src/intel/vulkan/genX_acceleration_structure.c | 3 +-- src/intel/vulkan/genX_cmd_compute.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/intel/vulkan/genX_acceleration_structure.c b/src/intel/vulkan/genX_acceleration_structure.c index 31859c3e9e4..db5c34cdcdb 100644 --- a/src/intel/vulkan/genX_acceleration_structure.c +++ b/src/intel/vulkan/genX_acceleration_structure.c @@ -835,8 +835,7 @@ cmd_build_acceleration_structures( &data, sizeof(data)); } - if (anv_cmd_buffer_is_render_queue(cmd_buffer)) - genX(flush_pipeline_select_gpgpu)(cmd_buffer); + genX(flush_pipeline_select_gpgpu)(cmd_buffer); /* Due to the nature of GRL and its heavy use of jumps/predication, we * cannot tell exactly in what order the CFE_STATE we insert are going to diff --git a/src/intel/vulkan/genX_cmd_compute.c b/src/intel/vulkan/genX_cmd_compute.c index 9a3a09e78ce..ce1e7d9f2fb 100644 --- a/src/intel/vulkan/genX_cmd_compute.c +++ b/src/intel/vulkan/genX_cmd_compute.c @@ -587,8 +587,7 @@ genX(cmd_buffer_dispatch_kernel)(struct anv_cmd_buffer *cmd_buffer, genX(cmd_buffer_config_l3)(cmd_buffer, kernel->l3_config); - if (anv_cmd_buffer_is_render_queue(cmd_buffer)) - genX(flush_pipeline_select_gpgpu)(cmd_buffer); + genX(flush_pipeline_select_gpgpu)(cmd_buffer); /* Apply any pending pipeline flushes we may have. We want to apply them * now because, if any of those flushes are for things like push constants,