[Mesa-dev] [PATCH] mesa: add drawbuffer argument to ClearNamedFramebufferfi

Ilia Mirkin imirkin at alum.mit.edu
Fri Jun 10 03:48:39 UTC 2016


This was fixed in revision 47 of the ARB_dsa spec in Oct 22, 2015. Since
it's horrible to have differing APIs across library versions, we should
attempt to minimize the impact by backporting it as far as possible and
hope no one notices.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "11.2 12.0" <mesa-stable at lists.freedesktop.org>
---

If people are good with this, I'll also nominate the glext.h header update for stable.

 src/mapi/glapi/gen/ARB_direct_state_access.xml | 1 +
 src/mesa/main/clear.c                          | 4 ++--
 src/mesa/main/clear.h                          | 2 +-
 3 files changed, 4 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 155b6f8..43841bb 100644
--- a/src/mapi/glapi/gen/ARB_direct_state_access.xml
+++ b/src/mapi/glapi/gen/ARB_direct_state_access.xml
@@ -242,6 +242,7 @@
    <function name="ClearNamedFramebufferfi">
       <param name="framebuffer" type="GLuint" />
       <param name="buffer" type="GLenum" />
+      <param name="drawbuffer" type="GLint" />
       <param name="depth" type="GLfloat" />
       <param name="stencil" type="GLint" />
    </function>
diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c
index 92f69ab..35b912c 100644
--- a/src/mesa/main/clear.c
+++ b/src/mesa/main/clear.c
@@ -646,12 +646,12 @@ _mesa_ClearBufferfi(GLenum buffer, GLint drawbuffer,
  */
 void GLAPIENTRY
 _mesa_ClearNamedFramebufferfi(GLuint framebuffer, GLenum buffer,
-                              GLfloat depth, GLint stencil)
+                              GLint drawbuffer, GLfloat depth, GLint stencil)
 {
    GLint oldfb;
 
    _mesa_GetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, &oldfb);
    _mesa_BindFramebuffer(GL_DRAW_FRAMEBUFFER, framebuffer);
-   _mesa_ClearBufferfi(buffer, 0, depth, stencil);
+   _mesa_ClearBufferfi(buffer, drawbuffer, depth, stencil);
    _mesa_BindFramebuffer(GL_DRAW_FRAMEBUFFER, (GLuint) oldfb);
 }
diff --git a/src/mesa/main/clear.h b/src/mesa/main/clear.h
index c298506..fb3bcde 100644
--- a/src/mesa/main/clear.h
+++ b/src/mesa/main/clear.h
@@ -75,6 +75,6 @@ _mesa_ClearBufferfi(GLenum buffer, GLint drawbuffer,
 
 extern void GLAPIENTRY
 _mesa_ClearNamedFramebufferfi(GLuint framebuffer, GLenum buffer,
-                              GLfloat depth, GLint stencil);
+                              GLint drawbuffer, GLfloat depth, GLint stencil);
 
 #endif
-- 
2.7.3



More information about the mesa-dev mailing list