From 40a00fc0652d4525eb1bf1969742855abb75602f Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Mon, 27 Mar 2023 11:42:23 +0200 Subject: [PATCH] v3dv: fix format swizzle for buffer views MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: dEQP-VK.api.buffer_view.access.uniform_texel_buffer.b8g8r8a8_unorm Reviewed-by: Alejandro PiƱeiro Part-of: --- src/broadcom/ci/broadcom-rpi4-fails.txt | 3 --- src/broadcom/vulkan/v3dvx_image.c | 12 ++++++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/broadcom/ci/broadcom-rpi4-fails.txt b/src/broadcom/ci/broadcom-rpi4-fails.txt index ed780b7cb2a..fd5be2c8a65 100644 --- a/src/broadcom/ci/broadcom-rpi4-fails.txt +++ b/src/broadcom/ci/broadcom-rpi4-fails.txt @@ -561,6 +561,3 @@ x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_no_depth_no_stenc x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_depth_no_stencil,Fail x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_depth_stencil,Fail x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_no_depth_no_stencil,Fail - -# New CTS failures in 1.3.5.0 -dEQP-VK.api.buffer_view.access.uniform_texel_buffer.b8g8r8a8_unorm,Fail diff --git a/src/broadcom/vulkan/v3dvx_image.c b/src/broadcom/vulkan/v3dvx_image.c index 2da58cadcc3..80a3e5bfde8 100644 --- a/src/broadcom/vulkan/v3dvx_image.c +++ b/src/broadcom/vulkan/v3dvx_image.c @@ -143,10 +143,14 @@ v3dX(pack_texture_shader_state_from_buffer_view)(struct v3dv_device *device, const struct v3dv_buffer *buffer = buffer_view->buffer; v3dvx_pack(buffer_view->texture_shader_state, TEXTURE_SHADER_STATE, tex) { - tex.swizzle_r = v3d_translate_pipe_swizzle(PIPE_SWIZZLE_X); - tex.swizzle_g = v3d_translate_pipe_swizzle(PIPE_SWIZZLE_Y); - tex.swizzle_b = v3d_translate_pipe_swizzle(PIPE_SWIZZLE_Z); - tex.swizzle_a = v3d_translate_pipe_swizzle(PIPE_SWIZZLE_W); + tex.swizzle_r = + v3d_translate_pipe_swizzle(buffer_view->format->planes[0].swizzle[0]); + tex.swizzle_g = + v3d_translate_pipe_swizzle(buffer_view->format->planes[0].swizzle[1]); + tex.swizzle_b = + v3d_translate_pipe_swizzle(buffer_view->format->planes[0].swizzle[2]); + tex.swizzle_a = + v3d_translate_pipe_swizzle(buffer_view->format->planes[0].swizzle[3]); tex.image_depth = 1;