[Mesa-dev] [PATCH] mesa: rewrite accum buffer support

Jose Fonseca jfonseca at vmware.com
Mon Dec 5 08:56:05 PST 2011


----- Original Message -----
> On 12/05/2011 09:27 AM, Jose Fonseca wrote:
> > ----- Original Message -----
> >> Implemented in terms of renderbuffer mapping/unmapping and format
> >> packing/unpacking functions.
> >>
> >> The swrast and state tracker code for implementing accumulation
> >> are
> >> unused and will be removed in the next commit.
> >>
> >> v2: don't use memcpy() in _mesa_clear_accum_buffer()
> >> ---
> >>   src/mesa/SConscript                      |    2 -
> >>   src/mesa/drivers/common/driverfuncs.c    |    3 +-
> >>   src/mesa/drivers/dri/intel/intel_pixel.c |    2 +-
> >>   src/mesa/main/accum.c                    |  364
> >>   +++++++++++++++++++++++++++++-
> >>   src/mesa/main/accum.h                    |   18 ++
> >>   src/mesa/sources.mak                     |    2 -
> >>   src/mesa/state_tracker/st_cb_clear.c     |    5 +-
> >>   src/mesa/state_tracker/st_cb_fbo.c       |   21 ++
> >>   src/mesa/state_tracker/st_context.c      |    5 +-
> >>   src/mesa/swrast/s_clear.c                |    5 +-
> >>   10 files changed, 412 insertions(+), 15 deletions(-)
> >>
> > [...]
> >> +
> >> +   /* bounds, with scissor */
> >> +   x = ctx->DrawBuffer->_Xmin;
> >> +   y = ctx->DrawBuffer->_Ymin;
> >> +   width = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin;
> >> +   height = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin;
> >> +
> >> +   ctx->Driver.MapRenderbuffer(ctx, accRb, x, y, width, height,
> >> +                               GL_MAP_READ_BIT |
> >> GL_MAP_WRITE_BIT,
> >> +&accMap,&accRowStride);
> >
> > I suppose that GL_MAP_READ_BIT could be skipped when scissor is not
> > set, but the fact that nobody bothered with writing a hardware
> > accelerated version of this till date means it doesn't really
> > matter in practice.
> 
> I think that was probably a copy&paste bug.  I intended MAP_WRITE
> there (regardless of scissor).  Though, it won't really make any
> difference in practice.

Ah yes. As you're only mapping the rectangle you're writing.

Jose


More information about the mesa-dev mailing list