[Mesa-dev] [PATCH v2] mesa: allow multisampled format info to be returned on GLES 3.1

Ilia Mirkin imirkin at alum.mit.edu
Wed Feb 17 19:51:38 UTC 2016


The restriction on multisampled integer texture formats only applies to
GLES 3.0, so don't apply it to GLES 3.1 contexts. This fixes a slew of

dEQP-GLES31.functional.state_query.internal_format.*

tests, which now all pass.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: Timothy Arceri <timothy.arceri at collabora.com>
Cc: Marta Lofstedt <marta.lofstedt at intel.com>
---

v1 -> v2: change the way we check for a gles3.0 context, add comment about the restriction being removed in gles 3.1

 src/mesa/main/formatquery.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/mesa/main/formatquery.c b/src/mesa/main/formatquery.c
index 85f7b6b..816f12b 100644
--- a/src/mesa/main/formatquery.c
+++ b/src/mesa/main/formatquery.c
@@ -131,11 +131,14 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname,
             internalformat, buffer);
       break;
    case GL_NUM_SAMPLE_COUNTS: {
-      if (_mesa_is_gles3(ctx) && _mesa_is_enum_format_integer(internalformat)) {
+      if ((ctx->API == API_OPENGLES2 && ctx->Version == 30) &&
+          _mesa_is_enum_format_integer(internalformat)) {
          /* From GL ES 3.0 specification, section 6.1.15 page 236: "Since
           * multisampling is not supported for signed and unsigned integer
           * internal formats, the value of NUM_SAMPLE_COUNTS will be zero
           * for such formats.
+          *
+          * Such a restriction no longer exists in GL ES 3.1.
           */
          buffer[0] = 0;
          count = 1;
-- 
2.4.10



More information about the mesa-dev mailing list