[Mesa-dev] [PATCH 2/2] mesa: make _mesa_accum() static
Timothy Arceri
tarceri at itsqueeze.com
Wed May 3 09:30:03 UTC 2017
On 03/05/17 17:27, Samuel Pitoiset wrote:
> Why don't inline _mesa_acum()?
inline is only meaningful if the function is in the header. Just marking
it as static will do the same thing in a c file. i.e leave it up to the
compiler as to whether it should be inlined or not. At least that's how
I understand it.
> Usually, we remove the '_' for static
> mesa functions right?
Right I will remove the mesa also. So its just accum()
>
> On 05/03/2017 05:38 AM, Timothy Arceri wrote:
>> ---
>> 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 */
>>
More information about the mesa-dev
mailing list