On 10/06/2015 12:02 AM, Iago Toral wrote: > On Wed, 2015-09-30 at 13:58 -0700, Ian Romanick wrote: >> From: Ian Romanick <ian.d.roman...@intel.com> >> >> There are multiple similar implementations of these functions, and a >> later patch was going to add another. >> >> Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> >> --- >> src/mesa/drivers/dri/i965/brw_context.c | 15 ++++++++------- >> src/mesa/drivers/dri/i965/brw_draw.c | 3 ++- >> src/mesa/drivers/dri/i965/intel_buffers.c | 24 ++---------------------- >> src/mesa/drivers/dri/i965/intel_buffers.h | 5 ----- >> src/mesa/main/framebuffer.c | 19 +++++++++++++++++++ >> src/mesa/main/framebuffer.h | 6 ++++++ >> 6 files changed, 37 insertions(+), 35 deletions(-) >> >> diff --git a/src/mesa/drivers/dri/i965/brw_context.c >> b/src/mesa/drivers/dri/i965/brw_context.c >> index 4d49929..3f64fbb 100644 >> --- a/src/mesa/drivers/dri/i965/brw_context.c >> +++ b/src/mesa/drivers/dri/i965/brw_context.c >> @@ -41,6 +41,7 @@ >> #include "main/version.h" >> #include "main/vtxfmt.h" >> #include "main/texobj.h" >> +#include "main/framebuffer.h" >> >> #include "vbo/vbo_context.h" >> >> @@ -1298,7 +1299,7 @@ intel_prepare_render(struct brw_context *brw) >> * that will happen next will probably dirty the front buffer. So >> * mark it as dirty here. >> */ >> - if (brw_is_front_buffer_drawing(ctx->DrawBuffer)) >> + if (_mesa_is_front_buffer_drawing(ctx->DrawBuffer)) >> brw->front_buffer_dirty = true; >> } >> >> @@ -1337,8 +1338,8 @@ intel_query_dri2_buffers(struct brw_context *brw, >> back_rb = intel_get_renderbuffer(fb, BUFFER_BACK_LEFT); >> >> memset(attachments, 0, sizeof(attachments)); >> - if ((brw_is_front_buffer_drawing(fb) || >> - brw_is_front_buffer_reading(fb) || >> + if ((_mesa_is_front_buffer_drawing(fb) || >> + _mesa_is_front_buffer_reading(fb) || >> !back_rb) && front_rb) { >> /* If a fake front buffer is in use, then querying for >> * __DRI_BUFFER_FRONT_LEFT will cause the server to copy the image >> from >> @@ -1452,7 +1453,7 @@ intel_process_dri2_buffer(struct brw_context *brw, >> drawable->w, drawable->h, >> buffer->pitch); >> >> - if (brw_is_front_buffer_drawing(fb) && >> + if (_mesa_is_front_buffer_drawing(fb) && >> (buffer->attachment == __DRI_BUFFER_FRONT_LEFT || >> buffer->attachment == __DRI_BUFFER_FAKE_FRONT_LEFT) && >> rb->Base.Base.NumSamples > 1) { >> @@ -1510,7 +1511,7 @@ intel_update_image_buffer(struct brw_context *intel, >> buffer->width, buffer->height, >> buffer->pitch); >> >> - if (brw_is_front_buffer_drawing(fb) && >> + if (_mesa_is_front_buffer_drawing(fb) && >> buffer_type == __DRI_IMAGE_BUFFER_FRONT && >> rb->Base.Base.NumSamples > 1) { >> intel_renderbuffer_upsample(intel, rb); >> @@ -1538,8 +1539,8 @@ intel_update_image_buffers(struct brw_context *brw, >> __DRIdrawable *drawable) >> else >> return; >> >> - if (front_rb && (brw_is_front_buffer_drawing(fb) || >> - brw_is_front_buffer_reading(fb) || !back_rb)) { >> + if (front_rb && (_mesa_is_front_buffer_drawing(fb) || >> + _mesa_is_front_buffer_reading(fb) || !back_rb)) { >> buffer_mask |= __DRI_IMAGE_BUFFER_FRONT; >> } >> >> diff --git a/src/mesa/drivers/dri/i965/brw_draw.c >> b/src/mesa/drivers/dri/i965/brw_draw.c >> index 6a75e06..9357a2d 100644 >> --- a/src/mesa/drivers/dri/i965/brw_draw.c >> +++ b/src/mesa/drivers/dri/i965/brw_draw.c >> @@ -33,6 +33,7 @@ >> #include "main/enums.h" >> #include "main/macros.h" >> #include "main/transformfeedback.h" >> +#include "main/framebuffer.h" >> #include "tnl/tnl.h" >> #include "vbo/vbo_context.h" >> #include "swrast/swrast.h" >> @@ -364,7 +365,7 @@ brw_postdraw_set_buffers_need_resolve(struct brw_context >> *brw) >> struct intel_renderbuffer *stencil_irb = intel_get_renderbuffer(fb, >> BUFFER_STENCIL); >> struct gl_renderbuffer_attachment *depth_att = >> &fb->Attachment[BUFFER_DEPTH]; >> >> - if (brw_is_front_buffer_drawing(fb)) >> + if (_mesa_is_front_buffer_drawing(fb)) >> front_irb = intel_get_renderbuffer(fb, BUFFER_FRONT_LEFT); >> >> if (front_irb) >> diff --git a/src/mesa/drivers/dri/i965/intel_buffers.c >> b/src/mesa/drivers/dri/i965/intel_buffers.c >> index c98e193..fd522cc 100644 >> --- a/src/mesa/drivers/dri/i965/intel_buffers.c >> +++ b/src/mesa/drivers/dri/i965/intel_buffers.c >> @@ -32,30 +32,10 @@ >> #include "main/framebuffer.h" >> #include "main/renderbuffer.h" >> >> - >> -bool >> -brw_is_front_buffer_reading(struct gl_framebuffer *fb) >> -{ >> - if (!fb || _mesa_is_user_fbo(fb)) >> - return false; >> - >> - return fb->_ColorReadBufferIndex == BUFFER_FRONT_LEFT; >> -} >> - >> -bool >> -brw_is_front_buffer_drawing(struct gl_framebuffer *fb) >> -{ >> - if (!fb || _mesa_is_user_fbo(fb)) >> - return false; >> - >> - return (fb->_NumColorDrawBuffers >= 1 && >> - fb->_ColorDrawBufferIndexes[0] == BUFFER_FRONT_LEFT); >> -} >> - >> static void >> intelDrawBuffer(struct gl_context * ctx, GLenum mode) >> { >> - if (brw_is_front_buffer_drawing(ctx->DrawBuffer)) { >> + if (_mesa_is_front_buffer_drawing(ctx->DrawBuffer)) { >> struct brw_context *const brw = brw_context(ctx); >> >> /* If we might be front-buffer rendering on this buffer for the first >> @@ -71,7 +51,7 @@ intelDrawBuffer(struct gl_context * ctx, GLenum mode) >> static void >> intelReadBuffer(struct gl_context * ctx, GLenum mode) >> { >> - if (brw_is_front_buffer_reading(ctx->ReadBuffer)) { >> + if (_mesa_is_front_buffer_reading(ctx->ReadBuffer)) { >> struct brw_context *const brw = brw_context(ctx); >> >> /* If we might be front-buffer reading on this buffer for the first >> diff --git a/src/mesa/drivers/dri/i965/intel_buffers.h >> b/src/mesa/drivers/dri/i965/intel_buffers.h >> index 85f54b2..0e0d9c3 100644 >> --- a/src/mesa/drivers/dri/i965/intel_buffers.h >> +++ b/src/mesa/drivers/dri/i965/intel_buffers.h >> @@ -30,11 +30,6 @@ >> #include "drm.h" >> #include "brw_context.h" >> >> -struct intel_framebuffer; >> - > > Oh, it seems there simply wasn't a definition of this any more... then > you probably also want remove the obsolete comment in > intel_new_framebuffer (intel_fbo.c).
Looking at it, I think it is even better to just delete intel_new_framebuffer... and several other useless overrides of dd.NewFramebuffer. I'll move this change into the patch that does that. > Reviewed-by: Iago Toral Quiroga <ito...@igalia.com> > >> extern void intelInitBufferFuncs(struct dd_function_table *functions); >> >> -bool brw_is_front_buffer_reading(struct gl_framebuffer *fb); >> -bool brw_is_front_buffer_drawing(struct gl_framebuffer *fb); >> - >> #endif /* INTEL_BUFFERS_H */ >> diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c >> index 37e2c29..a958e44 100644 >> --- a/src/mesa/main/framebuffer.c >> +++ b/src/mesa/main/framebuffer.c >> @@ -965,3 +965,22 @@ _mesa_print_framebuffer(const struct gl_framebuffer *fb) >> } >> } >> } >> + >> +bool >> +_mesa_is_front_buffer_reading(const struct gl_framebuffer *fb) >> +{ >> + if (!fb || _mesa_is_user_fbo(fb)) >> + return false; >> + >> + return fb->_ColorReadBufferIndex == BUFFER_FRONT_LEFT; >> +} >> + >> +bool >> +_mesa_is_front_buffer_drawing(const struct gl_framebuffer *fb) >> +{ >> + if (!fb || _mesa_is_user_fbo(fb)) >> + return false; >> + >> + return (fb->_NumColorDrawBuffers >= 1 && >> + fb->_ColorDrawBufferIndexes[0] == BUFFER_FRONT_LEFT); >> +} >> diff --git a/src/mesa/main/framebuffer.h b/src/mesa/main/framebuffer.h >> index 08e4322..bfc8a08 100644 >> --- a/src/mesa/main/framebuffer.h >> +++ b/src/mesa/main/framebuffer.h >> @@ -139,4 +139,10 @@ _mesa_get_read_renderbuffer_for_format(const struct >> gl_context *ctx, >> extern void >> _mesa_print_framebuffer(const struct gl_framebuffer *fb); >> >> +extern bool >> +_mesa_is_front_buffer_reading(const struct gl_framebuffer *fb); >> + >> +extern bool >> +_mesa_is_front_buffer_drawing(const struct gl_framebuffer *fb); >> + >> #endif /* FRAMEBUFFER_H */ > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev