radv/gfx9: use correct swizzle parameter to work out border swizzle.
authorDave Airlie <airlied@redhat.com>
Fri, 29 Dec 2017 01:32:36 +0000 (11:32 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 29 Dec 2017 02:09:13 +0000 (12:09 +1000)
This should fix:
dEQP-VK.pipeline.sampler.view_type.*.format.b4g4r4a4_unorm_pack16.address_modes.all_mode_clamp_to_border_opaque_black
and a few others in that area.

Fixes: b11c4a5546 (radv: add texture descriptor/fmask/cmask support for GFX9)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_image.c

index 0f6c5a171f27d96536e88ba899542842688f173f..a579a1ef5dc9161bbc6c5155804e978b63f0d98d 100644 (file)
@@ -345,7 +345,7 @@ static unsigned radv_tex_dim(VkImageType image_type, VkImageViewType view_type,
        }
 }
 
-static unsigned gfx9_border_color_swizzle(const unsigned char swizzle[4])
+static unsigned gfx9_border_color_swizzle(const enum vk_swizzle swizzle[4])
 {
        unsigned bc_swizzle = V_008F20_BC_SWIZZLE_XYZW;
 
@@ -459,7 +459,7 @@ si_make_texture_descriptor(struct radv_device *device,
        state[7] = 0;
 
        if (device->physical_device->rad_info.chip_class >= GFX9) {
-               unsigned bc_swizzle = gfx9_border_color_swizzle(desc->swizzle);
+               unsigned bc_swizzle = gfx9_border_color_swizzle(swizzle);
 
                /* Depth is the the last accessible layer on Gfx9.
                 * The hw doesn't need to know the total number of layers.