[Mesa-dev] [PATCH 04/12] anv: Add func anv_image_has_hiz()

Nanley Chery nanleychery at gmail.com
Tue Sep 13 17:07:09 UTC 2016


On Wed, Sep 07, 2016 at 03:51:14PM -0700, Chad Versace wrote:
> On Wed 07 Sep 2016, Nanley Chery wrote:
> > On Fri, Sep 02, 2016 at 11:42:24AM -0700, Chad Versace wrote:
> > > On Thu 01 Sep 2016, Jason Ekstrand wrote:
> > > > On Wed, Aug 31, 2016 at 8:29 PM, Nanley Chery <nanleychery at gmail.com> wrote:
> > > > 
> > > >     From: Chad Versace <chad.versace at intel.com>
> > > > 
> > > >     Nanley Chery (amend):
> > > >      - Remove wip! tag
> > > > 
> > > >     Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> > > >     ---
> > > >      src/intel/vulkan/anv_private.h | 10 ++++++++++
> > > >      1 file changed, 10 insertions(+)
> > > > 
> > > 
> > > 
> > > >     +static inline bool
> > > >     +anv_image_has_hiz(const struct anv_image *image)
> > > >     +{
> > > >     +   /* We must check the usage because anv_image::hiz_surface belongs to
> > > >     +    * a union.
> > > >     +    */
> > > >     +   return (image->usage & VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) &&
> > > > 
> > > > 
> > > > Would checking (image->aspects & VK_IMAGE_ASPECT_DEPTH_BIT) be more
> > > > appropriate?
> > > 
> > > I agree. VK_IMAGE_ASPECT_DEPTH_BIT makes more sense.
> > > 
> > > Also, that's what the documentation for anv_image says, quoted below:
> > >    
> > >    struct anv_image {
> > >       ...
> > > 
> > >       /**
> > >        * Image subsurfaces
> > >        *
> > >        * For each foo, anv_image::foo_surface is valid if and only if
> > >        * anv_image::aspects has a foo aspect.
> > >        *
> > >        * ...
> > >        */
> > >       union {
> > >          struct anv_surface color_surface;
> > >    
> > >          struct {
> > >             struct anv_surface depth_surface;
> > >             struct anv_surface stencil_surface;                                            
> > >          };
> > >       };
> > >    };
> > >    
> > 
> > Sure. Thanks for the documentation quote.
> > 
> > A HiZ surface is created for a depth image if both usage and aspect conditions
> > are satisfied. Would it be better for me to add the aspect check instead of
> > replacing the usage check with it?
> 
> I see. You want to avoid allocating the HiZ surface if it's never
> rendered as a depth attachment. 
> 
> So yes, your suggestion sounds good to me.

I'll actually leave it out if you don't mind. The usage check isn't
required to get the right result.


More information about the mesa-dev mailing list