On 2018-03-08 08:49:07, Rafael Antognolli wrote: > Extract the code from color_attachment_compute_aux_usage, so we can > later reuse it to update the clear color state buffer. > > Signed-off-by: Rafael Antognolli <rafael.antogno...@intel.com> > --- > src/intel/vulkan/anv_private.h | 20 ++++++++++++++++++++ > src/intel/vulkan/genX_cmd_buffer.c | 14 +------------- > 2 files changed, 21 insertions(+), 13 deletions(-) > > diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h > index 3af81e16025..497c61fab14 100644 > --- a/src/intel/vulkan/anv_private.h > +++ b/src/intel/vulkan/anv_private.h > @@ -2894,6 +2894,26 @@ void anv_fill_buffer_surface_state(struct anv_device > *device, > uint32_t offset, uint32_t range, > uint32_t stride); > > +static inline void > +anv_clear_color_from_att_state(union isl_color_value *clear_color, > + const struct anv_attachment_state *att_state, > + const struct anv_image_view *iview) > +{ > + const struct isl_format_layout *view_fmtl = > + isl_format_get_layout(iview->planes[0].isl.format); > + > +#define COPY_CLEAR_COLOR_CHANNEL(c, i) \ > + if (view_fmtl->channels.c.bits) \ > + clear_color->u32[i] = att_state->clear_value.color.uint32[i]
I see that you moved this from below, but it doesn't seem like this macro is helping much. Not a big deal though. 13 - 14 Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> > + > + COPY_CLEAR_COLOR_CHANNEL(r, 0); > + COPY_CLEAR_COLOR_CHANNEL(g, 1); > + COPY_CLEAR_COLOR_CHANNEL(b, 2); > + COPY_CLEAR_COLOR_CHANNEL(a, 3); > + > +#undef COPY_CLEAR_COLOR_CHANNEL > +} > + > > struct anv_ycbcr_conversion { > const struct anv_format * format; > diff --git a/src/intel/vulkan/genX_cmd_buffer.c > b/src/intel/vulkan/genX_cmd_buffer.c > index 53d095a6ee2..aa995014144 100644 > --- a/src/intel/vulkan/genX_cmd_buffer.c > +++ b/src/intel/vulkan/genX_cmd_buffer.c > @@ -272,20 +272,8 @@ color_attachment_compute_aux_usage(struct anv_device * > device, > assert(iview->image->planes[0].aux_surface.isl.usage & > (ISL_SURF_USAGE_CCS_BIT | ISL_SURF_USAGE_MCS_BIT)); > > - const struct isl_format_layout *view_fmtl = > - isl_format_get_layout(iview->planes[0].isl.format); > union isl_color_value clear_color = {}; > - > -#define COPY_CLEAR_COLOR_CHANNEL(c, i) \ > - if (view_fmtl->channels.c.bits) \ > - clear_color.u32[i] = att_state->clear_value.color.uint32[i] > - > - COPY_CLEAR_COLOR_CHANNEL(r, 0); > - COPY_CLEAR_COLOR_CHANNEL(g, 1); > - COPY_CLEAR_COLOR_CHANNEL(b, 2); > - COPY_CLEAR_COLOR_CHANNEL(a, 3); > - > -#undef COPY_CLEAR_COLOR_CHANNEL > + anv_clear_color_from_att_state(&clear_color, att_state, iview); > > att_state->clear_color_is_zero_one = > isl_color_value_is_zero_one(clear_color, iview->planes[0].isl.format); > -- > 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