mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 20:00:11 +01: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>
This commit is contained in:
parent
be481e6615
commit
086f529bbe
1 changed files with 6 additions and 0 deletions
|
|
@ -419,6 +419,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);
|
||||
|
||||
|
|
@ -431,6 +434,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