Commit Graph

3649 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
01b98264ce MSL: Handle stores to struct bool[]. 2023-06-06 13:55:29 +02:00
Hans-Kristian Arntzen
c4eb2317a4 MSL: Consider bool/short remapping when dealing with composites. 2023-06-06 13:19:21 +02:00
Hans-Kristian Arntzen
bf3f651f6c
Workaround MSVC jank 2023-06-06 12:58:22 +02:00
Hans-Kristian Arntzen
2ace2714ed
Apply suggestions from code review 2023-06-06 12:41:59 +02:00
Hans-Kristian Arntzen
d01006ec33
Merge pull request #2157 from rcombs/patch-1
MSL: fix function constant deduplication misfire
2023-06-06 12:34:23 +02:00
Stephen Hutchinson
0bef74c071 CMakeLists/pkgconfig: use a single version definition
Avoids having duplicate copies in both SPIRV_CROSS_STATIC and
SPIRV_CROSS_SHARED if blocks
2023-05-30 00:56:01 -04:00
Stephen Hutchinson
bb0c17f8a8 Add pkg-config file for static builds
Addresses issue #2117
2023-05-30 00:56:01 -04:00
rcombs
17ddd5912e
MSL: fix function constant deduplication misfire
Previously, if a constant without DecorationSpecId occurred before the constant with DecorationSpecId 0, it would be inserted into the unique_func_constants map with key 0 (the default return value from get_decoration). This prevented us from ever emitting the declaration with [[function_constant(0)]], which produced some bizarre MSL compilation errors.

Instead, we now only insert into unique_func_constants when we know we're going to emit a [[function_constant(…)]] line.

This regressed in 41007cdc7d.
2023-05-27 22:25:02 -05:00
Tibor Klajnscek
c4fdb3f371 added get_required_extensions() API to GLSL compiler 2023-05-26 15:43:43 +02:00
Hans-Kristian Arntzen
12542fc6fc
Merge pull request #2152 from KhronosGroup/fix-2143
Land PR 2143
2023-05-19 12:44:33 +02:00
Hans-Kristian Arntzen
bf752edaa4 Update test output for preserve structured. 2023-05-19 11:38:12 +02:00
Hans-Kristian Arntzen
63ea1a521b HLSL: Add CLI option for --hlsl-preserve-structured-buffers. 2023-05-19 11:38:09 +02:00
Hans-Kristian Arntzen
6df60be69f Merge remote-tracking branch 'epic/fixes_hlsl' 2023-05-19 11:10:24 +02:00
Laura Hermanns
578bdf410b Added tests for HLSL structured buffers. 2023-05-17 13:52:24 -04:00
Hans-Kristian Arntzen
28b11e010a
Merge pull request #2148 from etang-cw/FixDref
MSL: Fix dref lod workaround on combined texture/samplers
2023-05-16 17:05:19 +02:00
Laura Hermanns
bcb6243798 HLSL: Add support to preserve (RW)StructuredBuffer resources. 2023-05-12 14:41:00 -04:00
Hans-Kristian Arntzen
7cb2f62e3b
Merge pull request #2147 from KhronosGroup/fix-2145
Fix misc bugs with mixed pointer/array types in buffers
2023-05-12 12:28:52 +02:00
Trass3r
c26a2e8e42
upload binaries as artifacts (#2144)
Upload artifacts to CI as well.
2023-05-12 12:27:40 +02:00
Evan Tang
34cd230e5e MSL: Fix dref lod workaround on combined texture/samplers 2023-05-11 19:39:38 -05:00
Hans-Kristian Arntzen
71fe651e43 Be more precise in usage of pointer/array mixing. 2023-05-11 11:42:32 +02:00
Hans-Kristian Arntzen
cfd1618e31 MSL: Use templated array type when emitting BDA to arrays.
Handling native array types is not really feasible since we need to fuse
the variable declaration with the type declaration.

This is feasible in something like variable_decl, but for plain SSA
pointers, this breaks down.
2023-05-10 13:33:54 +02: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
ff962261d4 GLSL: Add tests for subgroup iadd, fadd, imul, fmul 2023-05-01 15:51:54 +03:00
George Ouzounoudis
813cfdce4f GLSL: Address review comments
Fix a warning and some format issues
2023-05-01 14:24:33 +03:00
Hans-Kristian Arntzen
4faeb81f3f
Merge pull request #2141 from KhronosGroup/ci-update
Update Ubuntu version in CI.
2023-04-27 17:40:47 +02:00
Hans-Kristian Arntzen
a5ec818d41 HLSL: Add test for straddling + holes in struct. 2023-04-27 17:40:02 +02:00
Hans-Kristian Arntzen
6eec0afb24 Update Ubuntu CI versions. 2023-04-27 17:05:06 +02:00
Hans-Kristian Arntzen
da12e7ade7
Merge pull request #2139 from EpicGames/fixes_glsl
GLSL: Use actual field offset to validate vec4 boundary alignment.
2023-04-27 17:03:47 +02:00
Hans-Kristian Arntzen
0f48b39b7b
Merge pull request #2138 from EpicGames/fixes_hlsl
HLSL: Don't restrict SV_RenderTargetArrayIndex to GS and MS.
2023-04-27 16:58:27 +02:00
Laura Hermanns
b19aa51e32 HLSL: Don't restrict SV_RenderTargetArrayIndex to GS and MS. 2023-04-25 09:33:40 -04:00
Laura Hermanns
16b5ce09d7 GLSL: Use actual field offset to validate vec4 boundary alignment. 2023-04-24 20:36:44 -04:00
Hans-Kristian Arntzen
fc9bee27f4
Merge pull request #2131 from KhronosGroup/fix-2128
MSL: Don't append v_ identifier
2023-04-11 23:17:51 +02:00
Hans-Kristian Arntzen
3fa767db74
Merge pull request #2135 from d34d633f/patch-1
HLSL: support Texture2D::GatherCmp function
2023-04-11 19:01:51 +02:00
Hans-Kristian Arntzen
e57b901dd1 MSL: Use name_id consistently in argument declaration. 2023-04-11 17:06:56 +02:00
手机用户Xh2vb13n
d1ac6524d3
HLSL: support Texture2D::GatherCmp function
refer to https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-object-texture2d-gathercmp
2023-04-10 16:55:38 +08: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
884e5c0e06 MSL: Add test for block IO output with function use. 2023-03-30 18:30:44 +02:00
Hans-Kristian Arntzen
1d4e063788 HLSL: Add missing test reference. 2023-03-30 18:30:44 +02:00
Hans-Kristian Arntzen
1f6653ec07 MSL: Do not override variable name late.
If we have emitted block IO lowering at the end of vertex shader, we
will end up using the wrong name. Forcing a v_ prefix does not solve any
actual problems since the intentifier already has to be valid.
2023-03-30 18:30:44 +02:00
Hans-Kristian Arntzen
3327924add
Merge pull request #2130 from KhronosGroup/fix-2129
GLSL: Fix expression reorder bug with legacy FMA fallback.
2023-03-30 18:25:35 +02:00
Hans-Kristian Arntzen
abd23cc233
Merge pull request #2127 from attackgoat/aliased-descriptor-fix
Aliased descriptor fix
2023-03-30 18:01:09 +02:00
Hans-Kristian Arntzen
50623e13c8 GLSL: Fix expression reorder bug with legacy FMA fallback. 2023-03-30 17:24:11 +02:00
John Wells
4c622ce030 Revert "Make argument buffer padding testable"
This reverts commit 275e4d7e88.
2023-03-30 11:13:39 -04:00
John Wells
275e4d7e88 Make argument buffer padding testable 2023-03-29 21:55:32 -04:00
Hans-Kristian Arntzen
8e64f8ee40
Merge pull request #2123 from piegfx/main
Implement set_scalar functions in the specialization constants C API
2023-03-29 20:36:10 +02:00