On Thu, Mar 29, 2018 at 10:58 AM, Rafael Antognolli < rafael.antogno...@intel.com> wrote:
> In a follow up patch, we make use of clear_color_bo, which is in > mt->mcs_buf or mt->hiz_buf. To avoid duplicating more code that does the > same thing on both aux buffers, just use aux_buf already. > > v5: Add aux_buf to brw_wm_surface_state too. > > Signed-off-by: Rafael Antognolli <rafael.antogno...@intel.com> > --- > src/mesa/drivers/dri/i965/brw_blorp.c | 19 +++++++------------ > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 15 ++++++++------- > 2 files changed, 15 insertions(+), 19 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c > b/src/mesa/drivers/dri/i965/brw_blorp.c > index 44064fc0cf3..a0977598309 100644 > --- a/src/mesa/drivers/dri/i965/brw_blorp.c > +++ b/src/mesa/drivers/dri/i965/brw_blorp.c > @@ -155,10 +155,13 @@ blorp_surf_for_miptree(struct brw_context *brw, > }; > > struct isl_surf *aux_surf = NULL; > + struct intel_miptree_aux_buffer *aux_buf = NULL; > if (mt->mcs_buf) > - aux_surf = &mt->mcs_buf->surf; > + aux_buf = mt->mcs_buf; > else if (mt->hiz_buf) > - aux_surf = &mt->hiz_buf->surf; > + aux_buf = mt->hiz_buf; > + > + aux_surf = &aux_buf->surf; > Let's just drop the aux_surf temporary. It's only used a few lines below to set surf->aux_surf and now that we have an aux_buf temporary, we can easily just do "surf->aux_surf = &aux_buf->surf". With that changed, Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> > > if (mt->format == MESA_FORMAT_S_UINT8 && is_render_target && > devinfo->gen <= 7) > @@ -180,16 +183,8 @@ blorp_surf_for_miptree(struct brw_context *brw, > .mocs = surf->addr.mocs, > }; > > - if (mt->mcs_buf) { > - surf->aux_addr.buffer = mt->mcs_buf->bo; > - surf->aux_addr.offset = mt->mcs_buf->offset; > - } else { > - assert(mt->hiz_buf); > - assert(surf->aux_usage == ISL_AUX_USAGE_HIZ); > - > - surf->aux_addr.buffer = mt->hiz_buf->bo; > - surf->aux_addr.offset = mt->hiz_buf->offset; > - } > + surf->aux_addr.buffer = aux_buf->bo; > + surf->aux_addr.offset = aux_buf->offset; > } else { > surf->aux_addr = (struct blorp_address) { > .buffer = NULL, > 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 caa92d7d878..ea855916403 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > @@ -152,22 +152,19 @@ brw_emit_surface_state(struct brw_context *brw, > > union isl_color_value clear_color = { .u32 = { 0, 0, 0, 0 } }; > > - struct brw_bo *aux_bo; > + struct brw_bo *aux_bo = NULL; > struct isl_surf *aux_surf = NULL; > uint64_t aux_offset = 0; > + struct intel_miptree_aux_buffer *aux_buf = NULL; > switch (aux_usage) { > case ISL_AUX_USAGE_MCS: > case ISL_AUX_USAGE_CCS_D: > case ISL_AUX_USAGE_CCS_E: > - aux_surf = &mt->mcs_buf->surf; > - aux_bo = mt->mcs_buf->bo; > - aux_offset = mt->mcs_buf->offset; > + aux_buf = mt->mcs_buf; > break; > > case ISL_AUX_USAGE_HIZ: > - aux_surf = &mt->hiz_buf->surf; > - aux_bo = mt->hiz_buf->bo; > - aux_offset = 0; > + aux_buf = mt->hiz_buf; > break; > > case ISL_AUX_USAGE_NONE: > @@ -175,6 +172,10 @@ brw_emit_surface_state(struct brw_context *brw, > } > > if (aux_usage != ISL_AUX_USAGE_NONE) { > + aux_surf = &aux_buf->surf; > + aux_bo = aux_buf->bo; > + aux_offset = aux_buf->offset; > + > /* We only really need a clear color if we also have an auxiliary > * surface. Without one, it does nothing. > */ > -- > 2.14.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev