[Mesa-dev] [PATCH 2/2] mesa: make _mesa_accum() static
Timothy Arceri
tarceri at itsqueeze.com
Wed May 3 03:38:32 UTC 2017
---
src/mesa/main/accum.c | 104 +++++++++++++++++++++++++-------------------------
src/mesa/main/accum.h | 3 --
2 files changed, 52 insertions(+), 55 deletions(-)
diff --git a/src/mesa/main/accum.c b/src/mesa/main/accum.c
index ef74468..919c441 100644
--- a/src/mesa/main/accum.c
+++ b/src/mesa/main/accum.c
@@ -46,71 +46,20 @@ _mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
tmp[2] = CLAMP( blue, -1.0F, 1.0F );
tmp[3] = CLAMP( alpha, -1.0F, 1.0F );
if (TEST_EQ_4V(tmp, ctx->Accum.ClearColor))
return;
COPY_4FV( ctx->Accum.ClearColor, tmp );
}
-void GLAPIENTRY
-_mesa_Accum( GLenum op, GLfloat value )
-{
- GET_CURRENT_CONTEXT(ctx);
- FLUSH_VERTICES(ctx, 0);
-
- switch (op) {
- case GL_ADD:
- case GL_MULT:
- case GL_ACCUM:
- case GL_LOAD:
- case GL_RETURN:
- /* OK */
- break;
- default:
- _mesa_error(ctx, GL_INVALID_ENUM, "glAccum(op)");
- return;
- }
-
- if (ctx->DrawBuffer->Visual.haveAccumBuffer == 0) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glAccum(no accum buffer)");
- return;
- }
-
- if (ctx->DrawBuffer != ctx->ReadBuffer) {
- /* See GLX_SGI_make_current_read or WGL_ARB_make_current_read,
- * or GL_EXT_framebuffer_blit.
- */
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glAccum(different read/draw buffers)");
- return;
- }
-
- if (ctx->NewState)
- _mesa_update_state(ctx);
-
- if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
- "glAccum(incomplete framebuffer)");
- return;
- }
-
- if (ctx->RasterDiscard)
- return;
-
- if (ctx->RenderMode == GL_RENDER) {
- _mesa_accum(ctx, op, value);
- }
-}
-
-
/**
* Clear the accumulation buffer by mapping the renderbuffer and
* writing the clear color to it. Called by the driver's implementation
* of the glClear function.
*/
void
_mesa_clear_accum_buffer(struct gl_context *ctx)
{
GLuint x, y, width, height;
GLubyte *accMap;
@@ -429,21 +378,21 @@ accum_return(struct gl_context *ctx, GLfloat value,
ctx->Driver.UnmapRenderbuffer(ctx, accRb);
}
/**
* Software fallback for glAccum. A hardware driver that supports
* signed 16-bit color channels could implement hardware accumulation
* operations, but no driver does so at this time.
*/
-void
+static void
_mesa_accum(struct gl_context *ctx, GLenum op, GLfloat value)
{
GLint xpos, ypos, width, height;
if (!ctx->DrawBuffer->Attachment[BUFFER_ACCUM].Renderbuffer) {
_mesa_warning(ctx, "Calling glAccum() without an accumulation buffer");
return;
}
if (!_mesa_check_conditional_render(ctx))
@@ -482,10 +431,61 @@ _mesa_accum(struct gl_context *ctx, GLenum op, GLfloat value)
}
}
void
_mesa_init_accum( struct gl_context *ctx )
{
/* Accumulate buffer group */
ASSIGN_4V( ctx->Accum.ClearColor, 0.0, 0.0, 0.0, 0.0 );
}
+
+
+void GLAPIENTRY
+_mesa_Accum( GLenum op, GLfloat value )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ FLUSH_VERTICES(ctx, 0);
+
+ switch (op) {
+ case GL_ADD:
+ case GL_MULT:
+ case GL_ACCUM:
+ case GL_LOAD:
+ case GL_RETURN:
+ /* OK */
+ break;
+ default:
+ _mesa_error(ctx, GL_INVALID_ENUM, "glAccum(op)");
+ return;
+ }
+
+ if (ctx->DrawBuffer->Visual.haveAccumBuffer == 0) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glAccum(no accum buffer)");
+ return;
+ }
+
+ if (ctx->DrawBuffer != ctx->ReadBuffer) {
+ /* See GLX_SGI_make_current_read or WGL_ARB_make_current_read,
+ * or GL_EXT_framebuffer_blit.
+ */
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glAccum(different read/draw buffers)");
+ return;
+ }
+
+ if (ctx->NewState)
+ _mesa_update_state(ctx);
+
+ if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
+ _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
+ "glAccum(incomplete framebuffer)");
+ return;
+ }
+
+ if (ctx->RasterDiscard)
+ return;
+
+ if (ctx->RenderMode == GL_RENDER) {
+ _mesa_accum(ctx, op, value);
+ }
+}
diff --git a/src/mesa/main/accum.h b/src/mesa/main/accum.h
index ede2ecc..fe253a2 100644
--- a/src/mesa/main/accum.h
+++ b/src/mesa/main/accum.h
@@ -40,19 +40,16 @@
#include "main/glheader.h"
struct gl_context;
extern void GLAPIENTRY
_mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
void GLAPIENTRY
_mesa_Accum( GLenum op, GLfloat value );
extern void
-_mesa_accum(struct gl_context *ctx, GLenum op, GLfloat value);
-
-extern void
_mesa_clear_accum_buffer(struct gl_context *ctx);
extern void
_mesa_init_accum( struct gl_context *ctx );
#endif /* ACCUM_H */
--
2.9.3
More information about the mesa-dev
mailing list