mesa/src/compiler/spirv
Arcady Goldmints-Orlov b38d3cdcea 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>
2020-06-08 07:10:17 +00:00
..
gl_spirv.c spirv: Rename vtn_decoration literals to operands 2019-04-23 14:58:01 -07:00
GLSL.ext.AMD.h spirv: import AMD extensions header from glslang 2018-03-07 23:09:58 +01:00
GLSL.std.450.h spirv: bump headers to SPIRV 1.1 2017-01-25 17:22:23 +00:00
meson.build meson: Build with Python 3 2018-08-10 15:15:09 -07:00
nir_spirv.h spirv: Use nir_const_value for spec constants 2020-04-24 09:23:59 +00:00
OpenCL.std.h spirv: Update the OpenCL.std.h header 2019-06-04 12:12:51 -07:00
spirv.core.grammar.json spirv: Update the headers from latest Khronos master 2020-04-24 05:56:05 +00:00
spirv.h spirv: Update the headers from latest Khronos master 2020-04-24 05:56:05 +00:00
spirv2nir.c spirv2nir: Add kernel spirv support 2020-02-14 11:14:58 +00:00
spirv_info.h spirv: Add imageoperands_to_string helper 2019-10-24 11:39:56 -07:00
spirv_info_c.py spirv: Add imageoperands_to_string helper 2019-10-24 11:39:56 -07:00
spirv_to_nir.c spirv: Use scoped barriers for SpvOpControlBarrier 2020-06-03 07:39:52 +00:00
vtn_alu.c nir/spirv: Translate SPIR-V to NIR for new INTEL_shader_integer_functions2 opcodes 2020-01-23 00:18:57 +00:00
vtn_amd.c spirv: add ReadClockKHR support with device scope 2020-05-24 20:37:50 +02:00
vtn_cfg.c spirv: Rewrite CFG construction 2020-04-24 16:29:24 +00:00
vtn_gather_types_c.py spirv: Handle instruction aliases in vtn_gather_types 2020-04-24 05:56:05 +00:00
vtn_glsl450.c nir/spirv/glsl450: increase asin(x) precision 2020-06-08 07:10:17 +00:00
vtn_opencl.c vtn/opencl: native sqrt support 2020-05-04 11:31:29 +00:00
vtn_private.h spirv: handle OpCopyObject correctly with any types 2020-05-15 19:18:53 +00:00
vtn_subgroup.c spirv: fix lowering of OpGroupNonUniformAllEqual 2019-11-19 18:01:13 +00:00
vtn_variables.c spirv,radv,anv: implement no-op VK_GOOGLE_user_type 2020-05-28 17:30:24 +02:00