On Thu, Mar 15, 2018 at 12:20:19AM -0700, Jordan Justen wrote: > 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.
It gets used again in patch 17, but I guess it's too far away. I'll move this patch closer to that one, so it is not just a random patch with not much use. Thanks. > 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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev