convert{su}tof and convertfto{su} tests with float16 need Float16 capability
authorDavid Neto <dneto@google.com>
Wed, 10 Jul 2019 20:07:21 +0000 (16:07 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 18 Jul 2019 13:48:59 +0000 (09:48 -0400)
Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_m1234
dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_min
dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_max
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_m1234
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_min
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_max
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_p0
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_m0
dEQP-VK.spirv_assembly.instruction.compute.convertutof.uint32_to_float16_1234
dEQP-VK.spirv_assembly.instruction.compute.convertutof.uint32_to_float16_max
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_1234
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_max
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_p0
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_m0

VK-GL-CTS issue: 1874

Change-Id: Ib6cdbb56dea510feb90ce80e1f6edf0f54149e26

external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp

index 782acc5..deb02cf 100644 (file)
@@ -9402,7 +9402,7 @@ struct ConvertCase
 
                        if (instruction == "OpUConvert" || instruction == "OpSConvert" || instruction == "OpFConvert")
                        {
-                               // Conversions between 16 and 32 bit are provided by SPV_KHR_16bit_storage. The rest requires explicit Int16
+                               // Width-only conversions between 16 and 32 bit are provided by SPV_KHR_16bit_storage. The rest requires explicit Int16
                                if (usesInt32(from, to) || usesFloat32(from, to))
                                        requiresInt16Capability = false;
                        }
@@ -9420,8 +9420,8 @@ struct ConvertCase
                {
                        decl += "%f16        = OpTypeFloat 16\n";
 
-                       // Conversions between 16 and 32 bit are provided by SPV_KHR_16bit_storage. The rest requires explicit Float16
-                       if (!(usesInt32(from, to) || usesFloat32(from, to)))
+                       // Width-only conversions between 16 and 32 bit are provided by SPV_KHR_16bit_storage. The rest requires explicit Float16
+                       if (!usesFloat32(from, to))
                                caps += "OpCapability Float16\n";
                }