Module: Mesa
Branch: main
Commit: 77252687fa4706b4357f1689211212147958b6a6
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=77252687fa4706b4357f1689211212147958b6a6

Author: Georg Lehmann <[email protected]>
Date:   Sat Feb 18 13:38:46 2023 +0100

amd: don't use d16 for integer loads

D16 saturates to min/max instead of just truncating.

Reviewed-by: Marek Olšák <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21404>

---

 src/amd/vulkan/radv_pipeline.c               | 4 ++--
 src/gallium/drivers/radeonsi/si_shader_nir.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index 7d8789c343d..780c87696d5 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -3296,8 +3296,8 @@ radv_postprocess_nir(struct radv_pipeline *pipeline,
       };
       struct nir_fold_16bit_tex_image_options fold_16bit_options = {
          .rounding_mode = nir_rounding_mode_rtne,
-         .fold_tex_dest_types = nir_type_float | nir_type_uint | nir_type_int,
-         .fold_image_dest_types = nir_type_float | nir_type_uint | 
nir_type_int,
+         .fold_tex_dest_types = nir_type_float,
+         .fold_image_dest_types = nir_type_float,
          .fold_image_store_data = true,
          .fold_image_srcs = !radv_use_llvm_for_stage(device, stage->stage),
          .fold_srcs_options_count = separate_g16 ? 2 : 1,
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c 
b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 12e7cfdc553..b0fc1117959 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -197,8 +197,8 @@ static void si_late_optimize_16bit_samplers(struct 
si_screen *sscreen, nir_shade
    };
    struct nir_fold_16bit_tex_image_options fold_16bit_options = {
       .rounding_mode = nir_rounding_mode_rtne,
-      .fold_tex_dest_types = nir_type_float | nir_type_uint | nir_type_int,
-      .fold_image_dest_types = nir_type_float | nir_type_uint | nir_type_int,
+      .fold_tex_dest_types = nir_type_float,
+      .fold_image_dest_types = nir_type_float,
       .fold_image_store_data = true,
       .fold_srcs_options_count = has_g16 ? 2 : 1,
       .fold_srcs_options = fold_srcs_options,

Reply via email to