mesa/src/amd/vulkan/meta
Autumn Ashton 3d75082c02 radv: Fix compute resolve rounding
When we are using compute resolve, we can get
values the CTS does not expect due to the value
we end up writing for UNORM in
`nir_image_deref_store`.

Make the compute resolve rounding path match with
the output of the fragment shader resolve path,
by going through the same FP16 RTZ conversion as
we do for UNORM/SNORM formats.

This is why VK_EXT_sample_locations CTS was
failing on > GFX9.
On <= GFX9, I am assuming we are falling back to
RESOLVE_FRAGMENT, due to DCC stuff, which is why
it works there.

I tested a handful of images from the Vulkan CTS
for the sample locations and resolve tests for
diff UNORM formats from the qpa file forcing
FRAGMENT and with this change.
With this change, we now match on the compute
resolve path the same sha for the ones I compared
with ImageMagick `identify`.

CTS passes for: *resolve*, *image_clearing* and
*sample_locations* on RX 7900XTX.

Signed-off-by: Autumn Ashton <misyl@froggi.es>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28237>
2025-04-01 21:15:24 +01:00
..
radv_meta.c radv/meta: inline radv_meta_get_view_layer() 2025-02-28 07:40:56 +00:00
radv_meta.h radv: inline radv_fast_clear_flush_image_inplace() 2025-03-28 19:41:07 +00:00
radv_meta_astc_decode.c radv/meta: inline radv_meta_get_view_layer() 2025-02-28 07:40:56 +00:00
radv_meta_blit.c radv/meta: switch to descriptor buffers 2025-02-17 16:52:49 +01:00
radv_meta_blit2d.c radv/meta: fix color<->depth/stencil image copies 2025-03-26 13:27:03 +00:00
radv_meta_buffer.c radv: rework command buffer emission with begin/end sequences 2025-04-01 06:18:28 +00:00
radv_meta_bufimage.c radv/meta: fix color<->depth/stencil image copies 2025-03-26 13:27:03 +00:00
radv_meta_clear.c radv: enable DCC fast clears for 8bpp/16bpp on GFX11 2025-02-28 08:33:39 +00:00
radv_meta_copy.c radv/meta: fix color<->depth/stencil image copies 2025-03-26 13:27:03 +00:00
radv_meta_copy_vrs_htile.c radv/meta: remove useless assertion in when copy VRS to HTILE 2025-02-28 08:05:13 +00:00
radv_meta_dcc_retile.c radv: use radv_image::bindings::addr more 2025-02-18 09:49:14 +01:00
radv_meta_decompress.c radv: add queue family assertions when doing decompression passes 2025-03-31 11:55:02 +00:00
radv_meta_etc_decode.c radv/meta: inline radv_meta_get_view_layer() 2025-02-28 07:40:56 +00:00
radv_meta_fast_clear.c radv: add queue family assertions when doing decompression passes 2025-03-31 11:55:02 +00:00
radv_meta_fmask_copy.c radv/meta: use radv_copy_memory() for the FMASK copy 2025-02-19 10:30:36 +00:00
radv_meta_fmask_expand.c radv: add queue family assertions when doing decompression passes 2025-03-31 11:55:02 +00:00
radv_meta_resolve.c radv: check HTILE compression for depth/stencil images per level 2025-02-28 08:05:14 +00:00
radv_meta_resolve_cs.c radv: Fix compute resolve rounding 2025-04-01 21:15:24 +01:00
radv_meta_resolve_fs.c radv/meta: switch to descriptor buffers 2025-02-17 16:52:49 +01:00