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

Tapani Pälli tapani.palli at intel.com
Fri Aug 25 06:08:38 UTC 2017


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.


> 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