Mesa (staging/20.1): v3d: Fix swizzle in DXT3 and DXT5 formats

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri May 8 16:27:48 UTC 2020


Module: Mesa
Branch: staging/20.1
Commit: f060438be024807b80e30b80d2bf9e791bc85ee0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f060438be024807b80e30b80d2bf9e791bc85ee0

Author: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
Date:   Thu May  7 03:37:22 2020 +0200

v3d: Fix swizzle in DXT3 and DXT5 formats

Swizzles were ignoring the W component of the format DXT3_RGBA and
DXT5_RGBA.

This fixes 15 piglit tests:

spec/!opengl 1.1/copyteximage 2d
spec/!opengl 1.2/copyteximage 3d
spec/arb_texture_compression/fbo-generatemipmap-formats/gl_compressed_rgba
spec/arb_texture_compression/fbo-generatemipmap-formats/gl_compressed_rgba npot
spec/arb_texture_compression/texwrap formats bordercolor-swizzled/gl_compressed_rgba, swizzled, border color only
spec/arb_texture_compression/texwrap formats bordercolor/gl_compressed_rgba, border color only
spec/arb_texture_cube_map/copyteximage cube
spec/arb_texture_cube_map/copyteximage cube samples=2
spec/arb_texture_cube_map/copyteximage cube samples=4
spec/arb_texture_rectangle/copyteximage rect
spec/arb_texture_rectangle/copyteximage rect samples=2
spec/arb_texture_rectangle/copyteximage rect samples=4
spec/ext_texture_array/copyteximage 2d_array
spec/ext_texture_array/copyteximage 2d_array samples=2
spec/ext_texture_array/copyteximage 2d_array samples=4

Fixes: 469bbd8387d1 "broadcom/vc5: Move the formats table to per-V3D-version compile."
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4934>
(cherry picked from commit e3ecf48dda2ddabfbabdad83e19d280d0edb8246)

---

 .pick_status.json                           | 2 +-
 src/gallium/drivers/v3d/v3dx_format_table.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 31d0088fd2c..9f6687b8078 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -310,7 +310,7 @@
         "description": "v3d: Fix swizzle in DXT3 and DXT5 formats",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "469bbd8387d11bbac2aae4c49765c748c2a9fd04"
     },
diff --git a/src/gallium/drivers/v3d/v3dx_format_table.c b/src/gallium/drivers/v3d/v3dx_format_table.c
index dd5648fcd70..535803aabb7 100644
--- a/src/gallium/drivers/v3d/v3dx_format_table.c
+++ b/src/gallium/drivers/v3d/v3dx_format_table.c
@@ -177,8 +177,8 @@ static const struct v3d_format format_table[] = {
         FORMAT(ETC2_RG11_SNORM,   NO,           SIGNED_RG11_EAC, SWIZ_XY01, 16, 0),
 
         FORMAT(DXT1_RGB,          NO,           BC1,         SWIZ_XYZ1, 16, 0),
-        FORMAT(DXT3_RGBA,         NO,           BC2,         SWIZ_XYZ1, 16, 0),
-        FORMAT(DXT5_RGBA,         NO,           BC3,         SWIZ_XYZ1, 16, 0),
+        FORMAT(DXT3_RGBA,         NO,           BC2,         SWIZ_XYZW, 16, 0),
+        FORMAT(DXT5_RGBA,         NO,           BC3,         SWIZ_XYZW, 16, 0),
 };
 
 const struct v3d_format *



More information about the mesa-commit mailing list