Fix atan2() precision tests and add to mustpass
authorPyry Haulos <phaulos@google.com>
Fri, 27 Jan 2017 17:02:12 +0000 (09:02 -0800)
committerPyry Haulos <phaulos@google.com>
Thu, 16 Feb 2017 19:18:12 +0000 (11:18 -0800)
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

external/vulkancts/modules/vulkan/shaderexecutor/vktShaderBuiltinPrecisionTests.cpp
external/vulkancts/mustpass/1.0.3/src/test-issues.txt
external/vulkancts/mustpass/1.0.3/vk-default.txt

index ea060c4..90792d4 100644 (file)
@@ -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()))
index 00a155b..a851100 100644 (file)
@@ -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.*
index ceef3d1..ae9e78b 100644 (file)
@@ -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