mesa: merge the driver functions DrawBuffers and DrawBuffer
authorTimothy Arceri <tarceri@itsqueeze.com>
Sat, 14 Apr 2018 03:42:31 +0000 (13:42 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Tue, 17 Apr 2018 04:17:48 +0000 (14:17 +1000)
The extra params we unused by the drivers that used DrawBuffers.

Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/drivers/common/driverfuncs.c
src/mesa/drivers/dri/nouveau/nouveau_state.c
src/mesa/main/buffers.c
src/mesa/main/dd.h
src/mesa/state_tracker/st_cb_fbo.c

index 11134b69e94421e3b7c21ea0c40dd00c2eacc053..b7ac2b5b434bb0a8de9b3ec013592942c0bbf598 100644 (file)
@@ -134,7 +134,6 @@ _mesa_init_driver_functions(struct dd_function_table *driver)
    driver->ColorMaterial = NULL;
    driver->CullFace = NULL;
    driver->DrawBuffer = NULL;
-   driver->DrawBuffers = NULL;
    driver->FrontFace = NULL;
    driver->DepthFunc = NULL;
    driver->DepthMask = NULL;
index e2b0104367572c2bb0350e98e2be3b23c11f7b57..debbd38080d1a2ace9f8ddf6402138f15dd3a044 100644 (file)
@@ -115,7 +115,7 @@ nouveau_read_buffer(struct gl_context *ctx, GLenum buffer)
 }
 
 static void
-nouveau_draw_buffers(struct gl_context *ctx, GLsizei n, const GLenum *buffers)
+nouveau_draw_buffer(struct gl_context *ctx, GLenum buffer)
 {
        nouveau_validate_framebuffer(ctx);
        context_dirty(ctx, FRAMEBUFFER);
@@ -519,7 +519,7 @@ nouveau_state_init(struct gl_context *ctx)
        ctx->Driver.DepthFunc = nouveau_depth_func;
        ctx->Driver.DepthMask = nouveau_depth_mask;
        ctx->Driver.ReadBuffer = nouveau_read_buffer;
-       ctx->Driver.DrawBuffers = nouveau_draw_buffers;
+       ctx->Driver.DrawBuffer = nouveau_draw_buffer;
        ctx->Driver.Enable = nouveau_enable;
        ctx->Driver.Fogfv = nouveau_fog;
        ctx->Driver.Lightfv = nouveau_light;
index 5492227de0860d7319511b4ae737de2d8a60f916..7bb5725d0857b6170e78dabe7260b9d696c07038 100644 (file)
@@ -304,9 +304,7 @@ draw_buffer(struct gl_context *ctx, struct gl_framebuffer *fb,
 
    /* Call device driver function only if fb is the bound draw buffer */
    if (fb == ctx->DrawBuffer) {
-      if (ctx->Driver.DrawBuffers)
-         ctx->Driver.DrawBuffers(ctx, 1, &buffer);
-      else if (ctx->Driver.DrawBuffer)
+      if (ctx->Driver.DrawBuffer)
          ctx->Driver.DrawBuffer(ctx, buffer);
    }
 }
@@ -587,9 +585,7 @@ draw_buffers(struct gl_context *ctx, struct gl_framebuffer *fb, GLsizei n,
     * may not be valid.
     */
    if (fb == ctx->DrawBuffer) {
-      if (ctx->Driver.DrawBuffers)
-         ctx->Driver.DrawBuffers(ctx, n, buffers);
-      else if (ctx->Driver.DrawBuffer)
+      if (ctx->Driver.DrawBuffer)
          ctx->Driver.DrawBuffer(ctx, n > 0 ? buffers[0] : GL_NONE);
    }
 }
index 64ddd81883599b505d118563a5205c1d15e2be68..d85d89ef50ce80797f24a171dae7f73b81322aaf 100644 (file)
@@ -612,8 +612,6 @@ struct dd_function_table {
    void (*DepthRange)(struct gl_context *ctx);
    /** Specify the current buffer for writing */
    void (*DrawBuffer)( struct gl_context *ctx, GLenum buffer );
-   /** Specify the buffers for writing for fragment programs*/
-   void (*DrawBuffers)(struct gl_context *ctx, GLsizei n, const GLenum *buffers);
    /** Enable or disable server-side gl capabilities */
    void (*Enable)(struct gl_context *ctx, GLenum cap, GLboolean state);
    /** Specify fog parameters */
index f859133e399e66e5d0b9c4c010464a8d26c30cdf..696a08fd65b45cd06cf66f9210f0107dad7c0042 100644 (file)
@@ -714,13 +714,12 @@ st_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb)
  * created FBOs.
  */
 static void
-st_DrawBuffers(struct gl_context *ctx, GLsizei count, const GLenum *buffers)
+st_DrawBuffer(struct gl_context *ctx, GLenum buffer)
 {
    struct st_context *st = st_context(ctx);
    struct gl_framebuffer *fb = ctx->DrawBuffer;
 
-   (void) count;
-   (void) buffers;
+   (void) buffer;
 
    if (_mesa_is_winsys_fbo(fb)) {
       GLuint i;
@@ -737,7 +736,7 @@ st_DrawBuffers(struct gl_context *ctx, GLsizei count, const GLenum *buffers)
 
 
 /**
- * Called via glReadBuffer.  As with st_DrawBuffers, we use this function
+ * Called via glReadBuffer.  As with st_DrawBuffer, we use this function
  * to check if we need to allocate a renderbuffer on demand.
  */
 static void
@@ -869,7 +868,7 @@ st_init_fbo_functions(struct dd_function_table *functions)
    functions->FinishRenderTexture = st_finish_render_texture;
    functions->ValidateFramebuffer = st_validate_framebuffer;
 
-   functions->DrawBuffers = st_DrawBuffers;
+   functions->DrawBuffer = st_DrawBuffer;
    functions->ReadBuffer = st_ReadBuffer;
 
    functions->MapRenderbuffer = st_MapRenderbuffer;