Fix dot product with saturation tests
authorRicardo Garcia <rgarcia@igalia.com>
Tue, 30 Nov 2021 18:30:04 +0000 (19:30 +0100)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Sat, 11 Dec 2021 08:28:44 +0000 (08:28 +0000)
commit60cc2fb63a71e2129f8b2a9f2c4bf522508f8cf5
treea80e2d0f2285540c95744ef2131f73da1eae0adf
parent80686ebed03e75d285dfa6e99f9ca4808b38f220
Fix dot product with saturation tests

This commit fixes an issue that prevented some valid results from being
verified in a variety of cases, and fixes the in-software dot-product
calculation so it will not rely on undefined truncation of signed
integers.

Also, it adjusts the pseudorandom numeric range in some tests to more
easily test cases of saturating and non-saturating operations.

Finally, the unsigned dot product operations have been separated in
saturating and non-saturating cases to more easily check both
conditions.

Affected and new tests:
dEQP-VK.spirv_assembly.instruction.compute.opudot*
dEQP-VK.spirv_assembly.instruction.compute.opsdot*
dEQP-VK.spirv_assembly.instruction.compute.opsudot*

Components: Vulkan
VK-GL-CTS issue: 3366

Change-Id: If058fd13705290472eef369167506a35cf7bba91
android/cts/master/vk-master-2021-03-01/spirv-assembly.txt
android/cts/master/vk-master/spirv-assembly.txt
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmIntegerDotProductTests.cpp
external/vulkancts/mustpass/master/vk-default/spirv-assembly.txt