Mesa (master): svga: Adjust alpha for S3TC_DXT1_EXT RGB formats

Brian Paul brianp at kemper.freedesktop.org
Tue Jan 30 04:08:17 UTC 2018


Module: Mesa
Branch: master
Commit: d4a5e14fae17c7ea7bb8d1d0d6467fd4e0706dd1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d4a5e14fae17c7ea7bb8d1d0d6467fd4e0706dd1

Author: Neha Bhende <bhenden at vmware.com>
Date:   Mon Jan 29 09:32:19 2018 -0700

svga: Adjust alpha for S3TC_DXT1_EXT RGB formats

According to spec, S3TC_DXT1_EXT RGB formats are supposed to be
opaque. Correspoding svga formats are not handling it so explicitly
setting it to 1.0.
This fixes piglit test spec at ext_texture_compression_s3tc@s3tc-targeted
Note: This test is testcase for freedesktop bug 100925

Tested with mtt-piglit and mtt-glretrace on 8,9,10,11 and 15

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/drivers/svga/svga_shader.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/svga/svga_shader.c b/src/gallium/drivers/svga/svga_shader.c
index 9e2b65771c..c9cc0f739a 100644
--- a/src/gallium/drivers/svga/svga_shader.c
+++ b/src/gallium/drivers/svga/svga_shader.c
@@ -234,6 +234,10 @@ svga_init_shader_key_common(const struct svga_context *svga,
              svga_texture_device_format_has_alpha(view->texture)) ?
             set_alpha : copy_alpha;
 
+         if (view->texture->format == PIPE_FORMAT_DXT1_RGB ||
+             view->texture->format == PIPE_FORMAT_DXT1_SRGB)
+            swizzle_tab = set_alpha;
+
          key->tex[i].swizzle_r = swizzle_tab[view->swizzle_r];
          key->tex[i].swizzle_g = swizzle_tab[view->swizzle_g];
          key->tex[i].swizzle_b = swizzle_tab[view->swizzle_b];




More information about the mesa-commit mailing list