radv: Fix sampler types in ETC2 decode.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Mon, 21 Nov 2022 22:38:53 +0000 (23:38 +0100)
committerEric Engestrom <eric@engestrom.ch>
Wed, 30 Nov 2022 21:12:43 +0000 (21:12 +0000)
Otherwise we'd have a type mismatch vs texture fetches, which
is asserted upon these days.

Fixes: 1153db23f58 ("radv: Add ETC2 decode shader.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19914>
(cherry picked from commit eab61863c0bd6b08bfc7c28d96cd99f49856e449)

.pick_status.json
src/amd/vulkan/radv_meta_etc_decode.c

index e0d01d1..18cf472 100644 (file)
         "description": "radv: Fix sampler types in ETC2 decode.",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "1153db23f58c39af2472e3bdfa721879ca1ac8cd"
     },
index 4320c2a..dcaed8e 100644 (file)
@@ -161,9 +161,9 @@ static nir_shader *
 build_shader(struct radv_device *dev)
 {
    const struct glsl_type *sampler_type_2d =
-      glsl_sampler_type(GLSL_SAMPLER_DIM_2D, false, true, GLSL_TYPE_FLOAT);
+      glsl_sampler_type(GLSL_SAMPLER_DIM_2D, false, true, GLSL_TYPE_UINT);
    const struct glsl_type *sampler_type_3d =
-      glsl_sampler_type(GLSL_SAMPLER_DIM_3D, false, false, GLSL_TYPE_FLOAT);
+      glsl_sampler_type(GLSL_SAMPLER_DIM_3D, false, false, GLSL_TYPE_UINT);
    const struct glsl_type *img_type_2d =
       glsl_image_type(GLSL_SAMPLER_DIM_2D, true, GLSL_TYPE_FLOAT);
    const struct glsl_type *img_type_3d =