mesa: add KHR_no_error support for glScissor*()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 6 Jun 2017 19:58:29 +0000 (21:58 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 7 Jun 2017 07:09:19 +0000 (09:09 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mapi/glapi/gen/ARB_viewport_array.xml
src/mapi/glapi/gen/gl_API.xml
src/mesa/main/scissor.c
src/mesa/main/scissor.h

index be67912..3e9c655 100644 (file)
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLfloat *" count="4"/>
     </function>
-    <function name="ScissorArrayv">
+    <function name="ScissorArrayv" no_error="true">
         <param name="first" type="GLuint"/>
         <param name="count" type="GLsizei"/>
         <param name="v" type="const int *" count="count" count_scale="4"/>
     </function>
-    <function name="ScissorIndexed">
+    <function name="ScissorIndexed" no_error="true">
         <param name="index" type="GLuint"/>
         <param name="left" type="GLint"/>
         <param name="bottom" type="GLint"/>
         <param name="width" type="GLsizei"/>
         <param name="height" type="GLsizei"/>
     </function>
-    <function name="ScissorIndexedv">
+    <function name="ScissorIndexedv" no_error="true">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLint *" count="4"/>
     </function>
index 8f93318..df99924 100644 (file)
         <glx rop="102"/>
     </function>
 
-    <function name="Scissor" es1="1.0" es2="2.0">
+    <function name="Scissor" es1="1.0" es2="2.0" no_error="true">
         <param name="x" type="GLint"/>
         <param name="y" type="GLint"/>
         <param name="width" type="GLsizei"/>
index 50d01a4..c04c64c 100644 (file)
@@ -83,6 +83,13 @@ scissor(struct gl_context *ctx, GLint x, GLint y, GLsizei width, GLsizei height)
  * Called via glScissor
  */
 void GLAPIENTRY
+_mesa_Scissor_no_error(GLint x, GLint y, GLsizei width, GLsizei height)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   scissor(ctx, x, y, width, height);
+}
+
+void GLAPIENTRY
 _mesa_Scissor(GLint x, GLint y, GLsizei width, GLsizei height)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -147,6 +154,15 @@ scissor_array(struct gl_context *ctx, GLuint first, GLsizei count,
  * Verifies the parameters and call set_scissor_no_notify to do the work.
  */
 void GLAPIENTRY
+_mesa_ScissorArrayv_no_error(GLuint first, GLsizei count, const GLint *v)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   struct gl_scissor_rect *p = (struct gl_scissor_rect *)v;
+   scissor_array(ctx, first, count, p);
+}
+
+void GLAPIENTRY
 _mesa_ScissorArrayv(GLuint first, GLsizei count, const GLint *v)
 {
    int i;
@@ -210,6 +226,14 @@ scissor_indexed_err(struct gl_context *ctx, GLuint index, GLint left,
 }
 
 void GLAPIENTRY
+_mesa_ScissorIndexed_no_error(GLuint index, GLint left, GLint bottom,
+                              GLsizei width, GLsizei height)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   _mesa_set_scissor(ctx, index, left, bottom, width, height);
+}
+
+void GLAPIENTRY
 _mesa_ScissorIndexed(GLuint index, GLint left, GLint bottom,
                      GLsizei width, GLsizei height)
 {
@@ -219,6 +243,13 @@ _mesa_ScissorIndexed(GLuint index, GLint left, GLint bottom,
 }
 
 void GLAPIENTRY
+_mesa_ScissorIndexedv_no_error(GLuint index, const GLint *v)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   _mesa_set_scissor(ctx, index, v[0], v[1], v[2], v[3]);
+}
+
+void GLAPIENTRY
 _mesa_ScissorIndexedv(GLuint index, const GLint *v)
 {
    GET_CURRENT_CONTEXT(ctx);
index 1d0fac8..264873e 100644 (file)
 
 struct gl_context;
 
+void GLAPIENTRY
+_mesa_Scissor_no_error(GLint x, GLint y, GLsizei width, GLsizei height);
+
 extern void GLAPIENTRY
 _mesa_Scissor( GLint x, GLint y, GLsizei width, GLsizei height );
 
+void GLAPIENTRY
+_mesa_ScissorArrayv_no_error(GLuint first, GLsizei count, const GLint * v);
+
 extern void GLAPIENTRY
 _mesa_ScissorArrayv(GLuint first, GLsizei count, const GLint * v);
 
+void GLAPIENTRY
+_mesa_ScissorIndexed_no_error(GLuint index, GLint left, GLint bottom,
+                              GLsizei width, GLsizei height);
+
 extern void GLAPIENTRY
 _mesa_ScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
 
+void GLAPIENTRY
+_mesa_ScissorIndexedv_no_error(GLuint index, const GLint * v);
+
 extern void GLAPIENTRY
 _mesa_ScissorIndexedv(GLuint index, const GLint * v);