On Wed, Apr 22, 2015 at 1:47 PM, Topi Pohjolainen <topi.pohjolai...@intel.com> wrote: > Note that brw_update_renderbuffer_surfaces() already had a helper > variable which was used in parallel to direct access of the current > draw buffer of the context. > > Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com> > --- > src/mesa/drivers/dri/i965/brw_state.h | 5 +++ > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 51 > ++++++++++++++---------- > 2 files changed, 35 insertions(+), 21 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_state.h > b/src/mesa/drivers/dri/i965/brw_state.h > index cfa67b6..83058b9 100644 > --- a/src/mesa/drivers/dri/i965/brw_state.h > +++ b/src/mesa/drivers/dri/i965/brw_state.h > @@ -233,6 +233,11 @@ GLuint translate_tex_format(struct brw_context *brw, > int brw_get_texture_swizzle(const struct gl_context *ctx, > const struct gl_texture_object *t); > > +void brw_update_renderbuffer_surfaces(struct brw_context *brw, > + const struct gl_framebuffer *fb, > + uint32_t render_target_start, > + uint32_t *surf_offset); > + > /* gen7_wm_surface_state.c */ > uint32_t gen7_surface_tiling_mode(uint32_t tiling); > uint32_t gen7_surface_msaa_bits(unsigned num_samples, enum intel_msaa_layout > l); > diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > index 959d6c2..82dd92b 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > @@ -731,40 +731,49 @@ brw_update_renderbuffer_surface(struct brw_context *brw, > /** > * Construct SURFACE_STATE objects for renderbuffers/draw buffers. > */ > -static void > -brw_update_renderbuffer_surfaces(struct brw_context *brw) > +void > +brw_update_renderbuffer_surfaces(struct brw_context *brw, > + const struct gl_framebuffer *fb, > + uint32_t render_target_start, > + uint32_t *surf_offset) > { > - struct gl_context *ctx = &brw->ctx; > - /* _NEW_BUFFERS */ > - const struct gl_framebuffer *fb = ctx->DrawBuffer; > GLuint i; > > - /* _NEW_BUFFERS | _NEW_COLOR */ > /* Update surfaces for drawing buffers */ > - if (ctx->DrawBuffer->_NumColorDrawBuffers >= 1) { > - for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers; i++) { > - const uint32_t surf_index =
Extra space at the end of this line. > - brw->wm.prog_data->binding_table.render_target_start + i; > + if (fb->_NumColorDrawBuffers >= 1) { > + for (i = 0; i < fb->_NumColorDrawBuffers; i++) { > + const uint32_t surf_index = render_target_start + i; > > - if (intel_renderbuffer(ctx->DrawBuffer->_ColorDrawBuffers[i])) { > - brw->wm.base.surf_offset[surf_index] = > + if (intel_renderbuffer(fb->_ColorDrawBuffers[i])) { Remove the tab here while we're changing it. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev