Discussion:
[PATCH] radv/gfx9: use correct swizzle parameter to work out border swizzle.
(too old to reply)
Dave Airlie
2017-12-29 01:37:00 UTC
Permalink
From: Dave Airlie <***@redhat.com>

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)
Signed-off-by: Dave Airlie <***@redhat.com>
---
src/amd/vulkan/radv_image.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index a8b40909cf..3718606a91 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -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.
--
2.14.3
Loading...