NaN handling in float16 tests
authorBoris Zanin <boris.zanin@mobica.com>
Fri, 21 Dec 2018 13:53:25 +0000 (14:53 +0100)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Mon, 4 Feb 2019 12:00:24 +0000 (07:00 -0500)
commitca94bffaa459fd19d454f0e4ca55a432d31e8661
tree83fe7f8f168550639869767e350de0dc7f296090
parent156fe37e8d9e4633c7842263f2b5e9ace575bf03
NaN handling in float16 tests

Support of NaNs is optional according the specification.
Tests always have expected that NaNs are always supported.
To be compatible with the specification skip check of NaN
input floats in logical.* and add a new set of tests
logical_nan.*.  The new tests require device extension
VK_KHR_shader_float_controls to validate whether NaNs are
supported (property shaderSignedZeroInfNanPreserveFloat16).

Updated tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opfunord*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opfunord*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opford*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opford*

Added tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical_nan.*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical_nan.*

Affected tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisnan*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisnan*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisinf*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisinf*

Components: Vulkan

VK-GL-CTS issue: 1528

Change-Id: Iadd91ed24c78e15ff458355262b009015b8a8e4a
android/cts/master/vk-master.txt
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderTestUtil.cpp
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmGraphicsShaderTestUtil.cpp
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp
external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt
external/vulkancts/mustpass/1.1.3/vk-default.txt