anv: check cmd_buffer is on a transfer queue more properly

The queueFlags of the associated queue may have more flags than just the
type of queue it is, based on what that queue supports, like sparse or
protected content. Check that the queue is a blitter engine instead.

Fixes a bunch of dEQP-VK.api.copy_and_blit.core.*_transfer on MTL with
ANV_SPARSE=0

Fixes: 17b8b2cffd ("anv: Add support for a transfer queue on Alchemist")

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29336>
This commit is contained in:
Iván Briano 2024-05-22 15:18:50 -07:00 committed by Marge Bot
parent e6d9201c6c
commit 8d098ecfea

View file

@ -452,7 +452,7 @@ blorp_exec_on_blitter(struct blorp_batch *batch,
assert(batch->flags & BLORP_BATCH_USE_BLITTER);
struct anv_cmd_buffer *cmd_buffer = batch->driver_batch;
assert(cmd_buffer->queue_family->queueFlags == VK_QUEUE_TRANSFER_BIT);
assert(anv_cmd_buffer_is_blitter_queue(cmd_buffer));
blorp_exec(batch, params);
}