mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 01:00:10 +01:00
anv: Skip cmd_buffer_emit_bt_pool_base_address() in blitter and video engines
Blitter and video engines don't support PIPE_CONTROL and
3DSTATE_BINDING_TABLE_POOL_ALLOC.
I'm not 100% sure if something else should be called instead but this
is doing the same as cmd_buffer_emit_state_base_address() and this
fixes the test that was crashing in
unreachable("Trying to emit unsupported PIPE_CONTROL command.");
Fixes: dEQP-VK.pipeline.monolithic.timestamp.misc_tests.two_cmd_buffers_secondary_transfer_queue_with_availability_bit
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28053>
This commit is contained in:
parent
cccb5e36f1
commit
7ea5d1ed7d
2 changed files with 10 additions and 0 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue