[Mesa-dev] [PATCH] anv: set right datatypes in anv_pipeline_binding

Juan A. Suarez Romero jasuarez at igalia.com
Fri Aug 25 15:30:20 UTC 2017


On Fri, 2017-08-25 at 09:08 +0300, Tapani Pälli wrote:
> On 08/24/2017 01:12 PM, Juan A. Suarez Romero wrote:
> > This structure contains two fields, binding and index, that store
> > the
> > binding in the descriptor set and the index inside the binding.
> > 
> > These structures are defined as uint8_t, but the types in Vulkan
> > specification are uint32_t, so big values are clamp.
> 
> Forgive me if I'm asking stupid things ... but does this mean also
> that 
> some of the code dealing with anv_pipeline_binding should change? I
> can 
> see that at least index gets set with UINT8_MAX when having no
> render 
> targets. Otherwise I agree that from API pov these are uint32_t.
> 

That's a good question. I think that we should use UINT32_MAX instead,
the maximum value.

I'll send a new v2 with this change.


	J.A.


> 
> > This fixes dEQP-
> > VK.binding_model.shader_access.*.multiple_arbitrary_descriptors.*
> > ---
> >   src/intel/vulkan/anv_private.h | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/intel/vulkan/anv_private.h
> > b/src/intel/vulkan/anv_private.h
> > index 6b2414429f..d5657c5e09 100644
> > --- a/src/intel/vulkan/anv_private.h
> > +++ b/src/intel/vulkan/anv_private.h
> > @@ -1236,10 +1236,10 @@ struct anv_pipeline_binding {
> >      uint8_t set;
> >   
> >      /* Binding in the descriptor set */
> > -   uint8_t binding;
> > +   uint32_t binding;
> >   
> >      /* Index in the binding */
> > -   uint8_t index;
> > +   uint32_t index;
> >   
> >      /* Input attachment index (relative to the subpass) */
> >      uint8_t input_attachment_index;
> > 
> 
> 


More information about the mesa-dev mailing list