On 13 July 2017 at 17:43, Matt Turner <matts...@gmail.com> wrote: > On Thu, Jul 13, 2017 at 7:48 AM, Juan A. Suarez Romero > <jasua...@igalia.com> wrote: >> 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. >> >> Rather, use BITFIELD64_BIT() to compute the mask. >> >> This fixes: >> dEQP-VK.pipeline.vertex_input.max_attributes.16_attributes.binding_one_to_one.interleaved >> >> Signed-off-by: Juan A. Suarez Romero <jasua...@igalia.com> >> Cc: mesa-sta...@lists.freedesktop.org >> --- >> src/intel/vulkan/anv_pipeline.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/src/intel/vulkan/anv_pipeline.c >> b/src/intel/vulkan/anv_pipeline.c >> index 5494a6e..edbe2e7 100644 >> --- a/src/intel/vulkan/anv_pipeline.c >> +++ b/src/intel/vulkan/anv_pipeline.c >> @@ -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)) > > The BITFIELD64_BIT macro exists just for MSVC support (See commit > 5fc5820cbc0faf57a48154466b4792294841a690) > > Since this code will never be compiled with MSVC, it's safe to use > 1ull. I'm not really sure how mtypes.h is being indirectly included. > > Reviewed-by: Matt Turner <matts...@gmail.com>
Fwiw MSVC has been using ull (llu actually) for the last year - since c8fe3b9dca73e3b91979d92ba4136b302001b3bb. I haven't seen any reports, so one could be able to kill off BITFIELD64_BIT all together? -Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev