diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index a125876e0de..c44d22d9ba1 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -3993,6 +3993,13 @@ anv_cmd_buffer_is_blitter_queue(const struct anv_cmd_buffer *cmd_buffer) return queue_family->engine_class == INTEL_ENGINE_CLASS_COPY; } +static inline bool +anv_cmd_buffer_is_render_or_compute_queue(const struct anv_cmd_buffer *cmd_buffer) +{ + return anv_cmd_buffer_is_render_queue(cmd_buffer) || + anv_cmd_buffer_is_compute_queue(cmd_buffer); +} + static inline struct anv_address anv_cmd_buffer_dynamic_state_address(struct anv_cmd_buffer *cmd_buffer, struct anv_state state) diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 7be1dcdaf92..207303319e2 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -402,6 +402,9 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer) void genX(cmd_buffer_emit_bt_pool_base_address)(struct anv_cmd_buffer *cmd_buffer) { + if (!anv_cmd_buffer_is_render_or_compute_queue(cmd_buffer)) + return; + /* If we are emitting a new state base address we probably need to re-emit * binding tables. */