[Mesa-dev] [PATCH 09/22] anv/cmd_buffer: Don't partially fast-clear image layers
Nanley Chery
nanleychery at gmail.com
Thu May 11 17:13:23 UTC 2017
On Tue, May 02, 2017 at 05:23:49PM -0700, Jason Ekstrand wrote:
> On Tue, May 2, 2017 at 4:37 PM, Nanley Chery <nanleychery at gmail.com> wrote:
>
> > On Tue, May 02, 2017 at 04:25:42PM -0700, Jason Ekstrand wrote:
> > > On Thu, Apr 27, 2017 at 11:32 AM, Nanley Chery <nanleychery at gmail.com>
> > > wrote:
> > >
> > > > Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> > > > ---
> > > > src/intel/vulkan/genX_cmd_buffer.c | 18 +++++++++++++++---
> > > > 1 file changed, 15 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/src/intel/vulkan/genX_cmd_buffer.c
> > > > b/src/intel/vulkan/genX_cmd_buffer.c
> > > > index 0ea378fde2..a981b00f67 100644
> > > > --- a/src/intel/vulkan/genX_cmd_buffer.c
> > > > +++ b/src/intel/vulkan/genX_cmd_buffer.c
> > > > @@ -216,7 +216,7 @@ color_is_zero_one(VkClearColorValue value, enum
> > > > isl_format format)
> > > > }
> > > >
> > > > static void
> > > > -color_attachment_compute_aux_usage(struct anv_device *device,
> > > > +color_attachment_compute_aux_usage(struct anv_cmd_buffer * const
> > > > cmd_buffer,
> > > >
> > >
> > > I t may be better to just pass in the framebuffer and attachment index
> > > rather than the whole command buffer. Slso, I think you're getting a bit
> > > over-excited with the constness. :-)
> > >
> > >
> >
> > The command buffer is used to look up the render pass in the next patch.
> > If you'd like me to pass in the render pass and framebuffer I could do
> > that alternatively.
> >
>
> Yeah, that seems better.
>
>
The final result will be:
color_attachment_compute_aux_usage(struct anv_device * device,
struct anv_framebuffer * framebuffer,
struct anv_render_pass * pass,
struct anv_attachment_state *att_state,
const uint32_t att, VkRect2D render_area,
union isl_color_value *fast_clear_color)
Is that okay? Looks like I should pass in the cmd_state instead of the
framebuffer and render_pass.
> > At one point I considered creating a keyboard shortcut to make typing
> > 'const' easier :). I'm open to hearing your thoughts about our use of it
> > though.
> >
>
> Mostly, every time I see a "struct foo * const thing", I mentally trip over
> C pointer constness syntax trying to figure out what it means. To me, the
> mental cost is high enough that it's not worth it for the tiny bit of extra
> safety. It's also more typing. In general, I tend to disagree with the
> philosophy of "anything that can be const should be." I think constness is
> useful for communicating whether or not a function modifies a pointer and
> if you're doing complicated calculations with piles of variables and you
> want to make it clear (and compile-checked!) that you don't overwrite one
> of them. Outside of that, I'd rather just drop the clutter. There have
> been very few times when I've actually found a bug that would have been
> solved by const when it hasn't been one of those two cases.
>
> --Jason
Gotcha.
More information about the mesa-dev
mailing list