mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
radv: do not trigger FCE or FMASK decompress on compute queue
A pipeline barrier which contains an image layout transition like
COLOR_ATTACHMENT_OPTIMAL -> TRANSFER_DST_OPTIMAL on compute queue
would just hang. Such a barrier is useless in practice but it's legal.
Prevent GPU hangs by skipping FCE or FMASK_DECOMPRESS when it's not
on the graphics queue.
Fixes dEQP-VK.synchronization2.layout_transition.compute_transition*.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34231>
(cherry picked from commit 086f529bbe)
This commit is contained in:
parent
1c85e781ce
commit
ffa6fd4bee
2 changed files with 7 additions and 1 deletions
|
|
@ -794,7 +794,7 @@
|
|||
"description": "radv: do not trigger FCE or FMASK decompress on compute queue",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -456,6 +456,9 @@ radv_fast_clear_eliminate(struct radv_cmd_buffer *cmd_buffer, struct radv_image
|
|||
{
|
||||
struct radv_barrier_data barrier = {0};
|
||||
|
||||
if (cmd_buffer->qf != RADV_QUEUE_GENERAL)
|
||||
return;
|
||||
|
||||
barrier.layout_transitions.fast_clear_eliminate = 1;
|
||||
radv_describe_layout_transition(cmd_buffer, &barrier);
|
||||
|
||||
|
|
@ -468,6 +471,9 @@ radv_fmask_decompress(struct radv_cmd_buffer *cmd_buffer, struct radv_image *ima
|
|||
{
|
||||
struct radv_barrier_data barrier = {0};
|
||||
|
||||
if (cmd_buffer->qf != RADV_QUEUE_GENERAL)
|
||||
return;
|
||||
|
||||
barrier.layout_transitions.fmask_decompress = 1;
|
||||
radv_describe_layout_transition(cmd_buffer, &barrier);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue