Hans-Kristian Arntzen
50623e13c8
GLSL: Fix expression reorder bug with legacy FMA fallback.
2023-03-30 17:24:11 +02:00
rdb
c356dd6220
GLSL: Fix missing precision qualifier in spvDeterminant return value
...
Follow-up to #2100
2023-01-27 21:44:47 +01:00
rdb
20981666cc
GLSL: Legacy matrix inverse/determinant polyfills, outerProduct()
...
Also refactors polyfill mechanism in GLSL and fixes transpose() lowering precision.
2023-01-27 13:51:47 +01:00
Hans-Kristian Arntzen
86a985f28c
Merge pull request #2093 from rdb/emulate-unsupported-hyperbolic-funcs
...
GLSL/HLSL: Add emulated fallbacks for hyperbolic math functions
2023-01-27 12:15:28 +01:00
rdb
53974b4fae
GLSL/HLSL: Add emulated fallbacks for sinh/cosh/tanh/asinh/acosh/atanh
...
The inverse hyperbolic functions are not supported in HLSL, and none of them are supported in legacy GLSL.
2023-01-26 19:40:42 +01:00
rdb
d10044b23e
GLSL: Add support for modf, isnan and isinf in legacy GLSL
2023-01-26 19:14:25 +01:00
rdb
dff276989b
GLSL: Multiplying matrix with scalar shouldn't force transpose
2023-01-21 11:42:55 +01:00
rdb
4ba13e0c1a
GLSL/HLSL: Add legacy handling for int vertex attributes
2023-01-14 18:57:24 +01:00
Hans-Kristian Arntzen
03b1f66ef1
GLSL: Fix row-major workaround wrapper for ES.
...
By default, the matrix would be declared as mediump, causing precision
issues. Need to dispatch to two separate functions since GLSL does not
support overload based on precision.
2022-12-13 15:44:03 +01:00
Hans-Kristian Arntzen
6a614cc7f7
Normalize all internal workaround methods to use spv prefix.
...
We have been interchanging spv and SPIRV_Cross_ for a while, which
causes weirdness since we don't explicitly ban SPIRV_Cross identifiers,
as these identifiers are generally used for interface variable
workarounds.
2020-11-23 15:42:27 +01:00
Hans-Kristian Arntzen
683c3f5c3f
Merge pull request #1530 from rdb/legacy-glsl-round
...
GLSL: Provide round/roundEven for legacy GLSL
2020-11-07 16:40:18 +01:00
Hans-Kristian Arntzen
ea334c14bc
Merge pull request #1527 from rdb/legacy-transpose
...
GLSL: implement transpose() in GLSL 1.10 / ES 1.00
2020-11-07 16:37:59 +01:00
rdb
bf71994dae
GLSL: implement transpose() in GLSL 1.10 / ES 1.00
2020-11-06 22:27:54 +01:00
rdb
9e6e5d2738
GLSL: Fix round/roundEven for legacy GLSL.
2020-11-06 17:34:38 +01:00
rdb
e8c500ceef
GLSL: Fix support for textureLod in legacy vertex shaders
2020-11-06 16:37:27 +01:00
Hans-Kristian Arntzen
e47561a28b
GLSL: Support a workaround for loading row-major matrices.
...
On AMD Windows OpenGL, it has been reported that we need to load
matrices via a wrapper function.
2020-10-27 12:07:09 +01:00
Hans-Kristian Arntzen
2ac8f51b06
GLSL: Support I/O flattening with arrays as final type.
2020-07-06 09:18:30 +02:00
Hans-Kristian Arntzen
2d43103a55
GLSL: Support multi-level struct flattening for I/O.
2020-07-03 14:38:51 +02:00
Hans-Kristian Arntzen
70f17142de
GLSL: Fix nested legacy switch workarounds.
2020-06-30 12:02:24 +02:00
Hans-Kristian Arntzen
4d79d634f5
GLSL: Implement switch on ESSL 1.0.
...
Cannot use switch on legacy ESSL, fallback to plain branches.
2020-06-29 13:35:46 +02:00
Hans-Kristian Arntzen
3ca8bc5e0d
Support fma() in older GLSL targets.
2019-04-08 10:38:32 +02:00
Hans-Kristian Arntzen
23f0abf112
Update tests for struct flattening.
2018-01-09 10:40:34 +01:00
Robert Konrad
eab111ed32
Add tests for legacy lod handling
2017-03-23 15:51:43 +01:00
Hans-Kristian Arntzen
fd12124bf7
Add tests for legacy I/O flattening.
2017-03-06 14:04:01 +01:00
Hans-Kristian Arntzen
036b9b73f5
Emit storage qualifier in the correct place.
...
Need to emit qualifiers in a specific order for legacy GLSL.
<interpolation> <storage> <precision> <type>.
2017-02-24 09:56:17 +01:00
Hans-Kristian Arntzen
fc80cd8cbf
Add support for loading flattened structs.
2017-02-23 19:31:56 +01:00
Hans-Kristian Arntzen
97350d32fd
Fix cases for flattened struct write.
...
Handle writing the entire struct as well as writing the elements
individually.
2017-02-23 19:05:11 +01:00
Hans-Kristian Arntzen
41f7e5b6a1
Add ability to have legacy-specific tests.
2017-01-16 09:08:06 +01:00