mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 07:00:12 +01:00
anv/pipeline: use unsigned long long constant to check enable vertex inputs
When initializing the ANV pipeline, one of the tasks is checking which vertex inputs are enabled. This is done by checking if the enabled bits in inputs_read. But the mask to use is computed doing `(1 << (VERT_ATTRIB_GENERIC0 + desc->location))`. The problem here is that if location is 15 or greater, the sum is 32 or greater. But C is handling 1 as a 32-bit integer, which means the displaced bit is out of range and thus the full value is 0. Thus, use 1ull, which is an unsigned long long value. This fixes: dEQP-VK.pipeline.vertex_input.max_attributes.16_attributes.binding_one_to_one.interleaved v2: use 1ull instead of BITFIELD64_BIT() (Matt Turner) Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Cc: mesa-stable@lists.freedesktop.org
This commit is contained in:
parent
b2da123801
commit
28d0c38d85
1 changed files with 1 additions and 1 deletions
|
|
@ -1330,7 +1330,7 @@ anv_pipeline_init(struct anv_pipeline *pipeline,
|
|||
const VkVertexInputAttributeDescription *desc =
|
||||
&vi_info->pVertexAttributeDescriptions[i];
|
||||
|
||||
if (inputs_read & (1 << (VERT_ATTRIB_GENERIC0 + desc->location)))
|
||||
if (inputs_read & BITFIELD64_BIT(VERT_ATTRIB_GENERIC0 + desc->location))
|
||||
pipeline->vb_used |= 1 << desc->binding;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue