diff options
author | Timothy Arceri <[email protected]> | 2017-05-12 10:47:14 +1000 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2017-05-17 10:12:03 +1000 |
commit | 6c8964bf6343592698021f42ed67b776cdab458b (patch) | |
tree | ba0b116884c6576ee6594efb86014e53ed98efab | |
parent | d1033cd1eb11105730b423723bda5038787145c9 (diff) |
mesa: add KHR_no_error support for glCompressedTex*SubImage3D()
Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r-- | src/mapi/glapi/gen/ARB_direct_state_access.xml | 2 | ||||
-rw-r--r-- | src/mapi/glapi/gen/gl_API.xml | 3 | ||||
-rw-r--r-- | src/mesa/main/teximage.c | 28 | ||||
-rw-r--r-- | src/mesa/main/teximage.h | 14 |
4 files changed, 44 insertions, 3 deletions
diff --git a/src/mapi/glapi/gen/ARB_direct_state_access.xml b/src/mapi/glapi/gen/ARB_direct_state_access.xml index 21f44b546c9..43e4e05b10f 100644 --- a/src/mapi/glapi/gen/ARB_direct_state_access.xml +++ b/src/mapi/glapi/gen/ARB_direct_state_access.xml @@ -432,7 +432,7 @@ <param name="data" type="const GLvoid *" /> </function> - <function name="CompressedTextureSubImage3D"> + <function name="CompressedTextureSubImage3D" no_error="true"> <param name="texture" type="GLuint" /> <param name="level" type="GLint" /> <param name="xoffset" type="GLint" /> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index 755cb311756..1a3b306c03c 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -4543,7 +4543,8 @@ <glx rop="214" handcode="client"/> </function> - <function name="CompressedTexSubImage3D" es2="3.0" marshal="sync"> + <function name="CompressedTexSubImage3D" es2="3.0" marshal="sync" + no_error="true"> <param name="target" type="GLenum"/> <param name="level" type="GLint"/> <param name="xoffset" type="GLint"/> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 2f9ff309428..fed1dad2621 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -4583,7 +4583,7 @@ compressed_tex_sub_image(unsigned dim, GLenum target, GLuint texture, * (See texturesubimage in teximage.c for details on why this check is * performed.) */ - if (!_mesa_cube_level_complete(texObj, level)) { + if (!no_error && !_mesa_cube_level_complete(texObj, level)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glCompressedTextureSubImage3D(cube map incomplete)"); return; @@ -4714,6 +4714,19 @@ _mesa_CompressedTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, } void GLAPIENTRY +_mesa_CompressedTexSubImage3D_no_error(GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLint zoffset, GLsizei width, + GLsizei height, GLsizei depth, + GLenum format, GLsizei imageSize, + const GLvoid *data) +{ + compressed_tex_sub_image(3, target, 0, level, xoffset, yoffset, zoffset, + width, height, depth, format, imageSize, data, + false, true, "glCompressedTexSubImage3D"); +} + +void GLAPIENTRY _mesa_CompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, @@ -4725,6 +4738,19 @@ _mesa_CompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, } void GLAPIENTRY +_mesa_CompressedTextureSubImage3D_no_error(GLuint texture, GLint level, + GLint xoffset, GLint yoffset, + GLint zoffset, GLsizei width, + GLsizei height, GLsizei depth, + GLenum format, GLsizei imageSize, + const GLvoid *data) +{ + compressed_tex_sub_image(3, 0, texture, level, xoffset, yoffset, zoffset, + width, height, depth, format, imageSize, data, + true, true, "glCompressedTextureSubImage3D"); +} + +void GLAPIENTRY _mesa_CompressedTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h index 6eda7215457..bc4e235d387 100644 --- a/src/mesa/main/teximage.h +++ b/src/mesa/main/teximage.h @@ -433,12 +433,26 @@ _mesa_CompressedTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, const GLvoid *data); extern void GLAPIENTRY +_mesa_CompressedTexSubImage3D_no_error(GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLint zoffset, GLsizei width, + GLsizei height, GLsizei depth, + GLenum format, GLsizei imageSize, + const GLvoid *data); +extern void GLAPIENTRY _mesa_CompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); extern void GLAPIENTRY +_mesa_CompressedTextureSubImage3D_no_error(GLuint texture, GLint level, + GLint xoffset, GLint yoffset, + GLint zoffset, GLsizei width, + GLsizei height, GLsizei depth, + GLenum format, GLsizei imageSize, + const GLvoid *data); +extern void GLAPIENTRY _mesa_CompressedTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, |