diff options
Diffstat (limited to 'src/mesa/main/formatquery.c')
-rw-r--r-- | src/mesa/main/formatquery.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/mesa/main/formatquery.c b/src/mesa/main/formatquery.c index 00abe399ed2..2037e84e17b 100644 --- a/src/mesa/main/formatquery.c +++ b/src/mesa/main/formatquery.c @@ -582,6 +582,10 @@ _mesa_query_internal_format_default(struct gl_context *ctx, GLenum target, params[0] = GL_TRUE; break; + case GL_INTERNALFORMAT_PREFERRED: + params[0] = internalFormat; + break; + default: _set_default_response(pname, params); break; @@ -665,7 +669,16 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, break; case GL_INTERNALFORMAT_PREFERRED: - /* @TODO */ + /* The ARB_internalformat_query2 spec says: + * + * "- INTERNALFORMAT_PREFERRED: The implementation-preferred internal + * format for representing resources of the specified <internalformat> is + * returned in <params>. + * + * Therefore, we let the driver answer. + */ + ctx->Driver.QueryInternalFormat(ctx, target, internalformat, pname, + buffer); break; case GL_INTERNALFORMAT_RED_SIZE: |