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>
(cherry picked from commit 8d098ecfea)
This commit is contained in:
Iván Briano 2024-05-22 15:18:50 -07:00 committed by Eric Engestrom
parent 7c74d46567
commit 464cab2e36
2 changed files with 2 additions and 2 deletions

View file

@ -1754,7 +1754,7 @@
"description": "anv: check cmd_buffer is on a transfer queue more properly",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "17b8b2cffdb07eaf06a309fabcd933886f6e7070",
"notes": null

View file

@ -429,7 +429,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);
}