[Mesa-dev] [PATCH 2/4] mesa/main: R10G10B10_(A2) formats are not color renderable in ES

Nicolai Hähnle nhaehnle at gmail.com
Fri Sep 29 11:30:14 UTC 2017


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

The EXT_texture_type_2_10_10_10_REV (ES only) states the following issue:

   "1. Should textures specified with this type be renderable?

    UNRESOLVED: No.  A separate extension could provide this functionality."

This partially fixes
dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.{rgb,rgba}_unsigned_int_2_10_10_10_rev
---
 src/mesa/main/fbobject.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 4d6fdfcd6bd..0867ff70fa7 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -730,22 +730,25 @@ is_format_color_renderable(const struct gl_context *ctx, mesa_format format,
    case GL_RGB8UI:
    case GL_SRGB8:
    case GL_RGB9_E5:
    case GL_RG8_SNORM:
    case GL_R8_SNORM:
       return GL_FALSE;
    default:
       break;
    }
 
-   if (format == MESA_FORMAT_B10G10R10A2_UNORM &&
-       internalFormat != GL_RGB10_A2) {
+   if (internalFormat != GL_RGB10_A2 &&
+       (format == MESA_FORMAT_B10G10R10A2_UNORM ||
+        format == MESA_FORMAT_B10G10R10X2_UNORM ||
+        format == MESA_FORMAT_R10G10B10A2_UNORM ||
+        format == MESA_FORMAT_R10G10B10X2_UNORM)) {
       return GL_FALSE;
    }
 
    return GL_TRUE;
 }
 
 
 /**
  * Is the given base format a legal format for a depth/stencil renderbuffer?
  */
-- 
2.11.0



More information about the mesa-dev mailing list