Mesa (master): mesa: Generate GL_INVALID_OPERATION for unsupported DSA TexStorage functions

Ian Romanick idr at kemper.freedesktop.org
Tue Jan 21 23:46:45 UTC 2014


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

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Dec 18 14:43:19 2013 -0800

mesa: Generate GL_INVALID_OPERATION for unsupported DSA TexStorage functions

We have to make the functions available to work around a GLEW bug (see
comments already in the code), but if an application calls one of these
functions we should still generate GL_INVALID_OPERATION.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/main/texstorage.c |   18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/mesa/main/texstorage.c b/src/mesa/main/texstorage.c
index 97bb43c..2220857 100644
--- a/src/mesa/main/texstorage.c
+++ b/src/mesa/main/texstorage.c
@@ -464,12 +464,16 @@ _mesa_TextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels,
                           GLenum internalformat,
                           GLsizei width)
 {
+   GET_CURRENT_CONTEXT(ctx);
+
    (void) texture;
    (void) target;
    (void) levels;
    (void) internalformat;
    (void) width;
-   /* no-op */
+
+   _mesa_error(ctx, GL_INVALID_OPERATION,
+               "glTextureStorage1DEXT not supported");
 }
 
 
@@ -478,13 +482,17 @@ _mesa_TextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels,
                           GLenum internalformat,
                           GLsizei width, GLsizei height)
 {
+   GET_CURRENT_CONTEXT(ctx);
+
    (void) texture;
    (void) target;
    (void) levels;
    (void) internalformat;
    (void) width;
    (void) height;
-   /* no-op */
+
+   _mesa_error(ctx, GL_INVALID_OPERATION,
+               "glTextureStorage2DEXT not supported");
 }
 
 
@@ -494,6 +502,8 @@ _mesa_TextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels,
                           GLenum internalformat,
                           GLsizei width, GLsizei height, GLsizei depth)
 {
+   GET_CURRENT_CONTEXT(ctx);
+
    (void) texture;
    (void) target;
    (void) levels;
@@ -501,5 +511,7 @@ _mesa_TextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels,
    (void) width;
    (void) height;
    (void) depth;
-   /* no-op */
+
+   _mesa_error(ctx, GL_INVALID_OPERATION,
+               "glTextureStorage3DEXT not supported");
 }




More information about the mesa-commit mailing list