Tibor Klajnscek
c4fdb3f371
added get_required_extensions() API to GLSL compiler
2023-05-26 15:43:43 +02:00
Hans-Kristian Arntzen
6df60be69f
Merge remote-tracking branch 'epic/fixes_hlsl'
2023-05-19 11:10:24 +02:00
Laura Hermanns
bcb6243798
HLSL: Add support to preserve (RW)StructuredBuffer resources.
2023-05-12 14:41:00 -04:00
Hans-Kristian Arntzen
193ca867ca
MSL: Don't hit array copy path for pointer to array.
...
Pointee type of load and store pointers must be a top-level array type.
2023-05-10 12:46:35 +02:00
Hans-Kristian Arntzen
88790d3145
GLSL: Disambiguate pointer vs array properly in packed_size/alignment.
2023-05-10 12:35:47 +02:00
Hans-Kristian Arntzen
54b48a2f3a
Merge pull request #2133 from georgeouzou/main
...
GLSL: Support GL_KHR_shader_subgroup_arithmetic (WIP)
2023-05-10 11:32:00 +02:00
George Ouzounoudis
813cfdce4f
GLSL: Address review comments
...
Fix a warning and some format issues
2023-05-01 14:24:33 +03:00
Laura Hermanns
16b5ce09d7
GLSL: Use actual field offset to validate vec4 boundary alignment.
2023-04-24 20:36:44 -04:00
georgeouzou
168e9f2cc9
GLSL: Support KHR_subgroup_arithmetic IMul/FMul
...
Support NV workarounds for IMul/FMul Reduce/InclusiveScan/ExclusiveScan
2023-04-03 19:13:30 +03:00
georgeouzou
ab3a6212b8
GLSL: Checking for inactive threads in non uniform arithmetic ops
...
The last argument of shuffle*NV functions does not return if the
current thread is inactive, but only if it is out of range.
2023-04-03 18:42:08 +03:00
georgeouzou
dbf6218883
GLSL: Support KHR_subgroup_arithmetic FAdd
...
Support NV workarounds for FAdd Reduce/InclusiveScan/ExclusiveScan
2023-04-02 10:45:25 +03:00
georgeouzou
b693d8faec
GLSL: Support KHR_subgroup_arithmetic IAdd
...
Support NV workarounds for IAdd Reduce/InclusiveScan/ExclusiveScan
2023-04-02 01:25:15 +03:00
Hans-Kristian Arntzen
50623e13c8
GLSL: Fix expression reorder bug with legacy FMA fallback.
2023-03-30 17:24:11 +02:00
Try
cb45e4be6f
cleanup
2023-03-21 21:11:07 +01:00
Try
4a5d21bf1c
virtual emit_mesh_tasks
2023-03-21 21:08:59 +01:00
Try
dd8839c6f9
task shader initial
2023-03-18 17:20:16 +01:00
Laura Hermanns
83650af3fb
GLSL: Don't create temporaries for sampled image types in GLSL.
...
This fixes a bug that was exposed when targeting GLSL with
Vulkan semantics while 'force_temporary' is enabled.
2023-02-27 11:51:49 -05: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
Hans-Kristian Arntzen
cd612e7dde
Merge pull request #2090 from rdb/glsl-legacy-math-funcs
...
GLSL: Add support for trunc, modf, isnan and isinf in legacy GLSL
2023-01-27 12:13:14 +01:00
rdb
f8cc03fd1e
GLSL: Drop invariant keyword in GLSL 110
2023-01-27 11:10:47 +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
Hans-Kristian Arntzen
9de5abaf78
GLSL: Minor fixes for shader clock implementation.
2023-01-26 15:41:51 +01:00
Hans-Kristian Arntzen
f575b89436
Merge pull request #2091 from LDeakin/shader-clock
...
GLSL: Support OpReadClockKHR
2023-01-26 15:41:40 +01:00
Hans-Kristian Arntzen
9da448c9ff
Merge pull request #2096 from rdb/glsl-extension-checks
...
GLSL: Add various missing extension checks
2023-01-26 15:41:15 +01:00
rdb
d70bfa5f34
GLSL: Allow sample inputs in desktop < 400 with GL_ARB_sample_shading
...
Neither legacy ES nor legacy desktop support these extensions
2023-01-23 14:51:26 +01:00
rdb
2202c2a701
GLSL: Add various additional extension checks.
2023-01-23 11:55:53 +01:00
rdb
dff276989b
GLSL: Multiplying matrix with scalar shouldn't force transpose
2023-01-21 11:42:55 +01:00
libretroadmin
5029e30f0a
(spirv_glsl.cpp) Fix error: no matching function for call to 'max(uint32_t&, unsigned int)'
2023-01-20 18:36:11 +01:00
Lachlan Deakin
3335835fad
GLSL: Support OpReadClockKHR
2023-01-19 22:28:38 +11:00
Hans-Kristian Arntzen
4212eef67e
Merge pull request #2087 from rdb/patch-1
...
GLSL: Support GL_NV_shader_noperspective_interpolation in GLES
2023-01-17 12:02:22 +01:00
rdb
09dd11be96
GLSL: Support GL_NV_shader_noperspective_interpolation in GLES
2023-01-16 20:02:13 +01:00
rdb
4ba13e0c1a
GLSL/HLSL: Add legacy handling for int vertex attributes
2023-01-14 18:57:24 +01:00
Hans-Kristian Arntzen
88c6b49959
Merge pull request #2085 from KhronosGroup/fix-2075
...
GLSL: Handle textureGatherOffsets properly.
2023-01-12 17:48:00 +01:00
Hans-Kristian Arntzen
1047c13d40
GLSL: Handle textureGatherOffsets properly.
...
We forgot to pass down the offset ID, clean up coffset vs offset jank
while we're at it.
2023-01-12 16:27:11 +01:00
Hans-Kristian Arntzen
f84527346d
GLSL: Declare gl_in/gl_out as array more robustly.
...
If a builtin block was not already declared, we would miss some
scenarios.
2023-01-12 16:05:17 +01:00
Hans-Kristian Arntzen
bcbe33ad11
Also consider NonSemantic ExtInst in block_is_noop.
2023-01-12 12:41:53 +01:00
Hans-Kristian Arntzen
549cde7fae
Fix GCC5 build.
2023-01-05 12:24:02 +01:00
Laura Hermanns
6371580f51
Fixed typo in CompilerGLSL::should_dereference()
2023-01-03 14:19:42 -05: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
c77b09b57c
Merge pull request #2063 from KhronosGroup/fix-2060
...
Merge #2061
2022-11-21 14:29:47 +01:00
Hans-Kristian Arntzen
df76a14056
MSL: Refactor member reference in terms of one boolean.
...
ptr_chain was really just masking the proper i == 0 check.
Be more explicit about what the check is actually doing and comment
this.
2022-11-21 13:40:27 +01:00
Dunfan Lu
e75c496ec6
Fix MSL Access Chain
2022-11-21 13:29:18 +01:00
Chip Davis
061cdd2052
MSL: Don't dereference forwarded copies of OpVariable
pointers.
...
Fixes two more CTS tests under
`dEQP-VK.spirv_assembly.instruction.compute.empty_struct.copying`.
2022-11-20 02:08:37 -08:00
Chip Davis
5547b25afe
Interleave undef values with constants and types.
...
Undef values may be of struct type and may be used in constants.
Therefore, they must be interleaved with constants and types.
Fixes the rest of the Vulkan CTS test
`dEQP-VK.spirv_assembly.instruction.compute.opundef.undefined_spec_constant_composite`.
(Please excuse the churn in the reference output; it's an inevitable
result of this change.)
2022-11-20 02:08:37 -08:00
Chip Davis
06ef3de002
GLSL, MSL: Handle OpUndef
as part of a constant composite.
...
Fixes the CTS test
`dEQP-VK.spirv_assembly.instruction.compute.opundef.undefined_constant_composite`
and helps with another,
`dEQP-VK.spirv_assembly.instruction.compute.opundef.undefined_spec_constant_composite`.
Unfortunately, fixing the latter requires another change.
2022-11-20 02:08:33 -08:00
Hans-Kristian Arntzen
e8a22a7cf6
Handle ShaderDebugInfo non-semantic extension.
2022-11-08 12:21:07 +01:00
Hans-Kristian Arntzen
ebf779dcfb
HLSL: Do not support ClipCull size > 4 in mesh shaders.
...
The array mechanism breaks DXC which needs to observe that all
components have been written.
Uninitialized outputs will be undefined. Resort to simple vector
instead.
2022-11-02 13:34:11 +01:00