mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-20 11:18:11 +02:00
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> |
||
|---|---|---|
| .. | ||
| radv_meta_nir.c | ||
| radv_meta_nir.h | ||
| radv_nir.h | ||
| radv_nir_apply_pipeline_layout.c | ||
| radv_nir_export_multiview.c | ||
| radv_nir_lower_abi.c | ||
| radv_nir_lower_cooperative_matrix.c | ||
| radv_nir_lower_fs_barycentric.c | ||
| radv_nir_lower_fs_intrinsics.c | ||
| radv_nir_lower_hit_attrib_derefs.c | ||
| radv_nir_lower_intrinsics_early.c | ||
| radv_nir_lower_io.c | ||
| radv_nir_lower_primitive_shading_rate.c | ||
| radv_nir_lower_ray_queries.c | ||
| radv_nir_lower_view_index.c | ||
| radv_nir_lower_viewport_to_zero.c | ||
| radv_nir_lower_vs_inputs.c | ||
| radv_nir_opt_fs_builtins.c | ||
| radv_nir_opt_tid_function.c | ||
| radv_nir_remap_color_attachment.c | ||
| radv_nir_rt_common.c | ||
| radv_nir_rt_common.h | ||
| radv_nir_rt_shader.c | ||