Mesa (master): virgl: stricter usage of compressed 3d textures

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 2 08:53:05 UTC 2019


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

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Thu Mar 28 19:03:47 2019 +0100

virgl: stricter usage of compressed 3d textures

Using RGTC, ETC1, ETC2 or S3TC for 3D-textures isn't alowed by any of
OpenGL 4.6, OpenGL ES 3.2, ARB_texture_compression_rgtc,
EXT_texture_compression_rgtc, OES_compressed_ETC1_RGB8_texture,
S3_s3tc or EXT_texture_compression_s3tc specifications.

So let's not allow any of those compressed 3d-textures at all. It's not
going to work once it hits the OpenGL driver in virglrenderer.

Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh at chromium.org>

---

 src/gallium/drivers/virgl/virgl_screen.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
index e2b2712d942..651b73b0eb0 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -625,6 +625,12 @@ virgl_is_format_supported( struct pipe_screen *screen,
        target != PIPE_BUFFER)
       return FALSE;
 
+   if ((format_desc->layout == UTIL_FORMAT_LAYOUT_RGTC ||
+        format_desc->layout == UTIL_FORMAT_LAYOUT_ETC ||
+        format_desc->layout == UTIL_FORMAT_LAYOUT_S3TC) &&
+       target == PIPE_TEXTURE_3D)
+      return FALSE;
+
    if (bind & PIPE_BIND_RENDER_TARGET) {
       /* For ARB_framebuffer_no_attachments. */
       if (format == PIPE_FORMAT_NONE)




More information about the mesa-commit mailing list