From 91d41a8a94d695e9b88bb268aa554eb5dd831296 Mon Sep 17 00:00:00 2001 From: Pyry Haulos Date: Fri, 27 Jan 2017 09:02:12 -0800 Subject: [PATCH] Fix atan2() precision tests and add to mustpass atan2() had a bug where tests were rounding codomain -PI..PI inwards, not outwards, causing it to reject perfectly valid roundings of constant PI. Changed tests: dEQP-VK.glsl.builtin.precision.atan2.* Change-Id: Ib75da103944f773dd819c459b9aa1257c58ca921 Components: Vulkan --- .../vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp | 2 +- external/vulkancts/mustpass/1.0.3/src/test-issues.txt | 2 -- external/vulkancts/mustpass/1.0.3/vk-default.txt | 8 ++++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp index ea060c4..90792d4 100644 --- a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp +++ b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp @@ -2431,7 +2431,7 @@ protected: if (xi.contains(0.0)) ret |= TCU_NAN; if (xi.intersects(Interval(-TCU_INFINITY, 0.0))) - ret |= Interval(-DE_PI_DOUBLE, DE_PI_DOUBLE); + ret |= ctx.format.roundOut(Interval(-DE_PI_DOUBLE, DE_PI_DOUBLE), true); } if (ctx.format.hasInf() != YES && (!yi.isFinite() || !xi.isFinite())) diff --git a/external/vulkancts/mustpass/1.0.3/src/test-issues.txt b/external/vulkancts/mustpass/1.0.3/src/test-issues.txt index 00a155b..a851100 100644 --- a/external/vulkancts/mustpass/1.0.3/src/test-issues.txt +++ b/external/vulkancts/mustpass/1.0.3/src/test-issues.txt @@ -2,8 +2,6 @@ dEQP-VK.glsl.builtin.precision.dot.highp_compute.* dEQP-VK.glsl.builtin.precision.smoothstep.mediump_compute.* dEQP-VK.glsl.builtin.precision.smoothstep.highp_compute.* -dEQP-VK.glsl.builtin.precision.atan2.mediump_compute.* -dEQP-VK.glsl.builtin.precision.atan2.highp_compute.* dEQP-VK.glsl.builtin.precision.acosh.highp_compute.* dEQP-VK.glsl.builtin.precision.atanh.highp_compute.* dEQP-VK.glsl.builtin.precision.atanh.mediump_compute.* diff --git a/external/vulkancts/mustpass/1.0.3/vk-default.txt b/external/vulkancts/mustpass/1.0.3/vk-default.txt index ceef3d1..ae9e78b 100644 --- a/external/vulkancts/mustpass/1.0.3/vk-default.txt +++ b/external/vulkancts/mustpass/1.0.3/vk-default.txt @@ -151466,6 +151466,14 @@ dEQP-VK.glsl.builtin.precision.acos.highp_compute.scalar dEQP-VK.glsl.builtin.precision.acos.highp_compute.vec2 dEQP-VK.glsl.builtin.precision.acos.highp_compute.vec3 dEQP-VK.glsl.builtin.precision.acos.highp_compute.vec4 +dEQP-VK.glsl.builtin.precision.atan2.mediump_compute.scalar +dEQP-VK.glsl.builtin.precision.atan2.mediump_compute.vec2 +dEQP-VK.glsl.builtin.precision.atan2.mediump_compute.vec3 +dEQP-VK.glsl.builtin.precision.atan2.mediump_compute.vec4 +dEQP-VK.glsl.builtin.precision.atan2.highp_compute.scalar +dEQP-VK.glsl.builtin.precision.atan2.highp_compute.vec2 +dEQP-VK.glsl.builtin.precision.atan2.highp_compute.vec3 +dEQP-VK.glsl.builtin.precision.atan2.highp_compute.vec4 dEQP-VK.glsl.builtin.precision.atan.highp_compute.scalar dEQP-VK.glsl.builtin.precision.atan.highp_compute.vec2 dEQP-VK.glsl.builtin.precision.atan.highp_compute.vec3 -- 2.7.4