Avoid undefined behaviour when calculating subgroup ballot masks
authorDae Kim <dae.kim@imgtec.com>
Fri, 13 Dec 2019 09:26:05 +0000 (09:26 +0000)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 20 Dec 2019 12:47:19 +0000 (07:47 -0500)
commitd5c520f39db038e83bb4f30330c8a9e4aec5ea8f
tree4066b739cfecc972ea3156a2c89d3fd91e352994
parent53b4a1282080caf719990ab54afa212aff112fbc
Avoid undefined behaviour when calculating subgroup ballot masks

The affected tests are shifting the bits of the last component of the
computed ballot masks by 32. However, the SPIR-V specification
establishes that the result of OpShift* is undefined if `Shift` is
greater than *or equal* to the bit width of the components of `Base`.

Affects:

dEQP-VK.subgroups.ballot_other.*

Components: Vulkan

VK-GL-CTS issue: 2083

Change-Id: I8c9b4373f1429669a40741986916e8d71b7eb573
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotOtherTests.cpp