[Mesa-dev] [PATCH 033/101] mesa: add KHR_no_error support to glInvalidate*()

Samuel Pitoiset samuel.pitoiset at gmail.com
Fri Jul 21 17:39:42 UTC 2017


These are just no-op because we don't actually do anything
useful in the errors path.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/mapi/glapi/gen/ARB_invalidate_subdata.xml |  8 ++++----
 src/mesa/main/fbobject.c                      | 17 +++++++++++++++++
 src/mesa/main/fbobject.h                      |  8 ++++++++
 src/mesa/main/texobj.c                        | 17 +++++++++++++++++
 src/mesa/main/texobj.h                        |  8 ++++++++
 5 files changed, 54 insertions(+), 4 deletions(-)

diff --git a/src/mapi/glapi/gen/ARB_invalidate_subdata.xml b/src/mapi/glapi/gen/ARB_invalidate_subdata.xml
index 2cbc4f63be..02dcad73cb 100644
--- a/src/mapi/glapi/gen/ARB_invalidate_subdata.xml
+++ b/src/mapi/glapi/gen/ARB_invalidate_subdata.xml
@@ -3,7 +3,7 @@
 
 <OpenGLAPI>
 <category name="GL_ARB_invalidate_subdata" number="666">
-  <function name="InvalidateTexSubImage">
+  <function name="InvalidateTexSubImage" no_error="true">
     <param name="texture" type="GLuint"/>
     <param name="level" type="GLint"/>
     <param name="xoffset" type="GLint"/>
@@ -14,7 +14,7 @@
     <param name="depth" type="GLsizei"/>
   </function>
 
-  <function name="InvalidateTexImage">
+  <function name="InvalidateTexImage" no_error="true">
     <param name="texture" type="GLuint"/>
     <param name="level" type="GLint"/>
   </function>
@@ -29,7 +29,7 @@
     <param name="buffer" type="GLuint"/>
   </function>
 
-  <function name="InvalidateSubFramebuffer" es2="3.0">
+  <function name="InvalidateSubFramebuffer" es2="3.0" no_error="true">
     <param name="target" type="GLenum"/>
     <param name="numAttachments" type="GLsizei" counter="true"/>
     <param name="attachments" type="const GLenum *" count="numAttachments"/>
@@ -39,7 +39,7 @@
     <param name="height" type="GLsizei"/>
   </function>
 
-  <function name="InvalidateFramebuffer" es2="3.0">
+  <function name="InvalidateFramebuffer" es2="3.0" no_error="true">
     <param name="target" type="GLenum"/>
     <param name="numAttachments" type="GLsizei" counter="true"/>
     <param name="attachments" type="const GLenum *" count="numAttachments"/>
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 46bc129eff..3ab6b53355 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -4326,6 +4326,15 @@ invalid_enum:
 
 
 void GLAPIENTRY
+_mesa_InvalidateSubFramebuffer_no_error(GLenum target, GLsizei numAttachments,
+                                        const GLenum *attachments, GLint x,
+                                        GLint y, GLsizei width, GLsizei height)
+{
+   /* no-op */
+}
+
+
+void GLAPIENTRY
 _mesa_InvalidateSubFramebuffer(GLenum target, GLsizei numAttachments,
                                const GLenum *attachments, GLint x, GLint y,
                                GLsizei width, GLsizei height)
@@ -4377,6 +4386,14 @@ _mesa_InvalidateNamedFramebufferSubData(GLuint framebuffer,
 
 
 void GLAPIENTRY
+_mesa_InvalidateFramebuffer_no_error(GLenum target, GLsizei numAttachments,
+                                     const GLenum *attachments)
+{
+   /* no-op */
+}
+
+
+void GLAPIENTRY
 _mesa_InvalidateFramebuffer(GLenum target, GLsizei numAttachments,
                             const GLenum *attachments)
 {
diff --git a/src/mesa/main/fbobject.h b/src/mesa/main/fbobject.h
index 6e10c18742..c67785a285 100644
--- a/src/mesa/main/fbobject.h
+++ b/src/mesa/main/fbobject.h
@@ -306,6 +306,11 @@ extern void GLAPIENTRY
 _mesa_GetNamedFramebufferParameteriv(GLuint framebuffer, GLenum pname,
                                      GLint *param);
 
+void GLAPIENTRY
+_mesa_InvalidateSubFramebuffer_no_error(GLenum target, GLsizei numAttachments,
+                                        const GLenum *attachments, GLint x,
+                                        GLint y, GLsizei width, GLsizei height);
+
 extern void GLAPIENTRY
 _mesa_InvalidateSubFramebuffer(GLenum target, GLsizei numAttachments,
                                const GLenum *attachments, GLint x, GLint y,
@@ -317,6 +322,9 @@ _mesa_InvalidateNamedFramebufferSubData(GLuint framebuffer,
                                         const GLenum *attachments,
                                         GLint x, GLint y,
                                         GLsizei width, GLsizei height);
+void GLAPIENTRY
+_mesa_InvalidateFramebuffer_no_error(GLenum target, GLsizei numAttachments,
+                                     const GLenum *attachments);
 
 extern void GLAPIENTRY
 _mesa_InvalidateFramebuffer(GLenum target, GLsizei numAttachments,
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index e52ad22645..95f2b34337 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -2029,6 +2029,16 @@ _mesa_unlock_context_textures( struct gl_context *ctx )
 
 
 void GLAPIENTRY
+_mesa_InvalidateTexSubImage_no_error(GLuint texture, GLint level, GLint xoffset,
+                                     GLint yoffset, GLint zoffset,
+                                     GLsizei width, GLsizei height,
+                                     GLsizei depth)
+{
+   /* no-op */
+}
+
+
+void GLAPIENTRY
 _mesa_InvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset,
                             GLint yoffset, GLint zoffset, GLsizei width,
                             GLsizei height, GLsizei depth)
@@ -2176,6 +2186,13 @@ _mesa_InvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset,
 
 
 void GLAPIENTRY
+_mesa_InvalidateTexImage_no_error(GLuint texture, GLint level)
+{
+   /* no-op */
+}
+
+
+void GLAPIENTRY
 _mesa_InvalidateTexImage(GLuint texture, GLint level)
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h
index f10623899f..9b9e4185d7 100644
--- a/src/mesa/main/texobj.h
+++ b/src/mesa/main/texobj.h
@@ -218,10 +218,18 @@ _mesa_AreTexturesResident( GLsizei n, const GLuint *textures,
 extern GLboolean GLAPIENTRY
 _mesa_IsTexture( GLuint texture );
 
+void GLAPIENTRY
+_mesa_InvalidateTexSubImage_no_error(GLuint texture, GLint level, GLint xoffset,
+                                     GLint yoffset, GLint zoffset,
+                                     GLsizei width, GLsizei height,
+                                     GLsizei depth);
+
 extern void GLAPIENTRY
 _mesa_InvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset,
                             GLint yoffset, GLint zoffset, GLsizei width,
                             GLsizei height, GLsizei depth);
+void GLAPIENTRY
+_mesa_InvalidateTexImage_no_error(GLuint texture, GLint level);
 
 extern void GLAPIENTRY
 _mesa_InvalidateTexImage(GLuint texture, GLint level);
-- 
2.13.3



More information about the mesa-dev mailing list