[Mesa-dev] [PATCH 20/42] mesa: add KHR_no_error support for gl*Textures()

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue Jun 27 11:20:23 UTC 2017


Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/mapi/glapi/gen/ARB_direct_state_access.xml |  2 +-
 src/mapi/glapi/gen/gl_API.xml                  |  2 +-
 src/mesa/main/texobj.c                         | 16 ++++++++++++++++
 src/mesa/main/texobj.h                         |  6 ++++++
 4 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/src/mapi/glapi/gen/ARB_direct_state_access.xml b/src/mapi/glapi/gen/ARB_direct_state_access.xml
index 87581d48b27..e307f8e6edf 100644
--- a/src/mapi/glapi/gen/ARB_direct_state_access.xml
+++ b/src/mapi/glapi/gen/ARB_direct_state_access.xml
@@ -311,7 +311,7 @@
 
    <!-- Texture object functions -->
 
-   <function name="CreateTextures">
+   <function name="CreateTextures" no_error="true">
       <param name="target" type="GLenum" />
       <param name="n" type="GLsizei" />
       <param name="textures" type="GLuint *" />
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 84195cae7ce..4833d520103 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -3345,7 +3345,7 @@
         <glx sop="144"/>
     </function>
 
-    <function name="GenTextures" es1="1.0" es2="2.0">
+    <function name="GenTextures" es1="1.0" es2="2.0" no_error="true">
         <param name="n" type="GLsizei" counter="true"/>
         <param name="textures" type="GLuint *" output="true" count="n"/>
         <glx sop="145" always_array="true"/>
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 1b2bb50d1d3..8e24a2888f8 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -1262,6 +1262,14 @@ create_textures_err(struct gl_context *ctx, GLenum target,
  * objects are also generated.
  */
 void GLAPIENTRY
+_mesa_GenTextures_no_error(GLsizei n, GLuint *textures)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   create_textures(ctx, 0, n, textures, "glGenTextures");
+}
+
+
+void GLAPIENTRY
 _mesa_GenTextures(GLsizei n, GLuint *textures)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1282,6 +1290,14 @@ _mesa_GenTextures(GLsizei n, GLuint *textures)
  * objects are also generated.
  */
 void GLAPIENTRY
+_mesa_CreateTextures_no_error(GLenum target, GLsizei n, GLuint *textures)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   create_textures(ctx, target, n, textures, "glCreateTextures");
+}
+
+
+void GLAPIENTRY
 _mesa_CreateTextures(GLenum target, GLsizei n, GLuint *textures)
 {
    GLint targetIndex;
diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h
index a82c9722639..f10623899fc 100644
--- a/src/mesa/main/texobj.h
+++ b/src/mesa/main/texobj.h
@@ -177,9 +177,15 @@ _mesa_lock_context_textures( struct gl_context *ctx );
  */
 /*@{*/
 
+void GLAPIENTRY
+_mesa_GenTextures_no_error(GLsizei n, GLuint *textures);
+
 extern void GLAPIENTRY
 _mesa_GenTextures(GLsizei n, GLuint *textures);
 
+void GLAPIENTRY
+_mesa_CreateTextures_no_error(GLenum target, GLsizei n, GLuint *textures);
+
 extern void GLAPIENTRY
 _mesa_CreateTextures(GLenum target, GLsizei n, GLuint *textures);
 
-- 
2.13.2



More information about the mesa-dev mailing list