nir/spirv/glsl450: increase asin(x) precision
asin(x) is now implemented using a piecewise approximation, which improves the precision for |x| < 0.5 Previously, we were using a polynomial approximation for both the asin() and acos() functions. Unfortunately, for asin(), this polynomial does not have enough precision to satisfy the Vulkan CTS requiremenents, which define the asin() precision based on the precision of atan2(x, sqrt(1.0 - x*x)). The piecewise approximation gives the needed precision in the problematic range. v2: Skip the piecewise approximation for acos Closes: #1843 Acked-by: Francisco Jerez <currojerez@riseup.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3809>
This commit is contained in:

committed by
Marge Bot

parent
008b0d1701
commit
b38d3cdcea
@@ -2,12 +2,6 @@
|
||||
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.draw
|
||||
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.memory_dep.draw
|
||||
|
||||
# SPIR-V->NIR issues.
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.scalar
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec4
|
||||
|
||||
# CTS bug (list of extensions not up-to-date).
|
||||
dEQP-VK.info.device_extensions
|
||||
|
||||
|
@@ -1,9 +1,3 @@
|
||||
# SPIR-V->NIR issues.
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.scalar
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec4
|
||||
|
||||
# CTS bug (list of extensions not up-to-date).
|
||||
dEQP-VK.info.device_extensions
|
||||
|
||||
|
@@ -1,8 +1,2 @@
|
||||
# SPIR-V->NIR issues.
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.scalar
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec4
|
||||
|
||||
# CTS bug (list of extensions not up-to-date).
|
||||
dEQP-VK.info.device_extensions
|
||||
|
@@ -2,11 +2,5 @@
|
||||
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.draw
|
||||
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.memory_dep.draw
|
||||
|
||||
# SPIR-V->NIR issues.
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.scalar
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec4
|
||||
|
||||
# CTS bug (list of extensions not up-to-date).
|
||||
dEQP-VK.info.device_extensions
|
||||
|
@@ -1,9 +1,3 @@
|
||||
# SPIR-V->NIR issues.
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.scalar
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec4
|
||||
|
||||
# CTS bug (list of extensions not up-to-date).
|
||||
dEQP-VK.info.device_extensions
|
||||
|
||||
|
@@ -1,9 +1,3 @@
|
||||
# SPIR-V->NIR issues.
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.scalar
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
|
||||
dEQP-VK.glsl.builtin.precision.asin.highp.vec4
|
||||
|
||||
# CTS bug (list of extensions not up-to-date).
|
||||
dEQP-VK.info.device_extensions
|
||||
|
||||
|
Reference in New Issue
Block a user