mesa: add KHR_no_error support for glBlitFramebuffer()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 31 May 2017 13:52:57 +0000 (15:52 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 7 Jun 2017 09:04:16 +0000 (11:04 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mapi/glapi/gen/ARB_framebuffer_object.xml
src/mesa/main/blit.c
src/mesa/main/blit.h

index 76114eb32a219ad6f600cc7f41c442624fb08d65..26f495f8bb9ff68f6d774d13a2c298810bd5f391 100644 (file)
        <glx vendorpriv="1428"/>
     </function>
 
-    <function name="BlitFramebuffer" es2="3.0">
+    <function name="BlitFramebuffer" es2="3.0" no_error="true">
         <param name="srcX0" type="GLint"/>
         <param name="srcY0" type="GLint"/>
         <param name="srcX1" type="GLint"/>
index 029b5e16c92c8dc3ef9add1e4a4afb8cf767cf24..c2efd7bec14c8aeb1a8e80501d50339ec6694a66 100644 (file)
@@ -602,6 +602,21 @@ blit_framebuffer_err(struct gl_context *ctx,
  * Note, if the src buffer is multisampled and the dest is not, this is
  * when the samples must be resolved to a single color.
  */
+void GLAPIENTRY
+_mesa_BlitFramebuffer_no_error(GLint srcX0, GLint srcY0, GLint srcX1,
+                               GLint srcY1, GLint dstX0, GLint dstY0,
+                               GLint dstX1, GLint dstY1,
+                               GLbitfield mask, GLenum filter)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   blit_framebuffer(ctx, ctx->ReadBuffer, ctx->DrawBuffer,
+                    srcX0, srcY0, srcX1, srcY1,
+                    dstX0, dstY0, dstX1, dstY1,
+                    mask, filter, true, "glBlitFramebuffer");
+}
+
+
 void GLAPIENTRY
 _mesa_BlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
                       GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
index 1ca4f830287acca64b71e290bf10784426b82f03..6397518dbd3109a32cf45cf70f508d3858fb89b1 100644 (file)
@@ -34,6 +34,12 @@ _mesa_regions_overlap(int srcX0, int srcY0,
                       int dstX0, int dstY0,
                       int dstX1, int dstY1);
 
+void GLAPIENTRY
+_mesa_BlitFramebuffer_no_error(GLint srcX0, GLint srcY0, GLint srcX1,
+                               GLint srcY1, GLint dstX0, GLint dstY0,
+                               GLint dstX1, GLint dstY1,
+                               GLbitfield mask, GLenum filter);
+
 extern void GLAPIENTRY
 _mesa_BlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
                          GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,