From 5b14568dad5a7e655843bc610bb721993091d6dd Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Wed, 14 Jun 2023 12:14:19 +0100 Subject: [PATCH] ac: fix PIPE_FORMAT_R11G11B10_FLOAT DST_SEL_W Previously, the W component would be incorrect for attributes using this format when loaded in RADV's vertex shader prologs. Fixes dEQP-VK.pipeline.fast_linked_library.vertex_input.*b10g11r11*missing_components* Signed-off-by: Rhys Perry Reviewed-by: Bas Nieuwenhuizen Reviewed-by: Samuel Pitoiset Fixes: 6a2ada93b49 ("ac: add ac_vtx_format_info") Part-of: (cherry picked from commit 4291cc5255741f02eddc2114b7170166658174ce) --- .pick_status.json | 2 +- src/amd/common/ac_shader_util.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index c46486ef2a6..735da6e27f0 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -337,7 +337,7 @@ "description": "ac: fix PIPE_FORMAT_R11G11B10_FLOAT DST_SEL_W", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "6a2ada93b49b2317e25d433da1548843a14b25d7" }, diff --git a/src/amd/common/ac_shader_util.c b/src/amd/common/ac_shader_util.c index 340d51f433c..2b5f6cd913d 100644 --- a/src/amd/common/ac_shader_util.c +++ b/src/amd/common/ac_shader_util.c @@ -489,7 +489,7 @@ const struct ac_data_format_info *ac_get_data_format_info(unsigned dfmt) [(int)PIPE_FORMAT_R10G10B10A2_UINT] = {DST_SEL(X,Y,Z,W), 4, 4, 0, FMTP(2_10_10_10, UINT)}, \ [(int)PIPE_FORMAT_R10G10B10A2_SINT] = {DST_SEL(X,Y,Z,W), 4, 4, 0, FMTP(2_10_10_10, SINT), \ AA(AC_ALPHA_ADJUST_SINT)}, \ - [(int)PIPE_FORMAT_R11G11B10_FLOAT] = {DST_SEL(X,Y,Z,W), 4, 3, 0, FMTP(10_11_11, FLOAT)}, \ + [(int)PIPE_FORMAT_R11G11B10_FLOAT] = {DST_SEL(X,Y,Z,1), 4, 3, 0, FMTP(10_11_11, FLOAT)}, \ #define HW_FMT(dfmt, nfmt) (V_008F0C_BUF_DATA_FORMAT_##dfmt | (V_008F0C_BUF_NUM_FORMAT_##nfmt << 4)) #define HW_FMT_INVALID (V_008F0C_BUF_DATA_FORMAT_INVALID | (V_008F0C_BUF_NUM_FORMAT_UNORM << 4))