zink: emulated alpha formats do not require mutable

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35433>
(cherry picked from commit 0d3dc92863)
This commit is contained in:
Mike Blumenkrantz 2025-06-10 09:17:11 -04:00 committed by Eric Engestrom
parent 83b014996e
commit c02f060dc3
3 changed files with 4 additions and 2 deletions

View file

@ -3624,7 +3624,7 @@
"description": "zink: emulated alpha formats do not require mutable",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -670,7 +670,6 @@ dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag_revers
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min_reverse_dst_x,Fail
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-deriv-disabled,Fail
glx@glx-tfp,Fail
spec@arb_sample_shading@samplemask 4,Fail
spec@ext_framebuffer_multisample@interpolation 6 centroid-deriv-disabled,Fail
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-deriv-disabled,Fail

View file

@ -58,6 +58,9 @@ zink_format_needs_mutable(enum pipe_format a, enum pipe_format b)
return util_format_linear(a) != b;
if (util_format_is_srgb(b))
return util_format_linear(b) != a;
if (zink_format_emulate_x8(b) == a || zink_format_emulate_x8(a) == b ||
zink_format_get_emulated_alpha(b) == a || zink_format_get_emulated_alpha(a) == b)
return false;
return true;
}
#endif