Commit Graph

3713 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
0e1ce21d75 Skip line directives when emitting loop condition blocks.
Avoids problem where enabling line directives breaks loop optimizations
since it thinks there are legitimate statements in the block.
2023-06-12 12:33:58 +02:00
Hans-Kristian Arntzen
030d0be28c
Merge pull request #2163 from KhronosGroup/fix-2162
GLSL: Fix bug with mixed precision on PHI variables.
2023-06-07 16:27:50 +02:00
Hans-Kristian Arntzen
5b322555d6 GLSL: Fix bug with mixed precision on PHI variables. 2023-06-07 15:31:29 +02:00
Hans-Kristian Arntzen
74702f5077
Merge pull request #2161 from KhronosGroup/fix-2151
Fix more edge cases in bool <-> short remapping
2023-06-07 15:30:10 +02:00
Hans-Kristian Arntzen
17d00edd97 C-api: Fix warning. 2023-06-07 13:58:54 +02:00
Hans-Kristian Arntzen
13e6981cc8 MSL: Consider changed array types for array-of-constant-bool in struct. 2023-06-07 13:54:50 +02:00
Hans-Kristian Arntzen
8735108609 MSL: Consider bool-short remapping for constant expressions as well. 2023-06-07 12:33:37 +02:00
Hans-Kristian Arntzen
74bae9a06c Minor cleanup in constant_expression(). 2023-06-07 12:30:57 +02:00
Hans-Kristian Arntzen
55750be788 Small cleanup after merge. 2023-06-06 15:25:22 +02:00
Hans-Kristian Arntzen
28762d76fb spirv-cross-c: Bump minor version. 2023-06-06 15:22:27 +02:00
Hans-Kristian Arntzen
a20fc9ac58
Merge pull request #2159 from qyot27/static_pc
Static pkg-config support
2023-06-06 15:21:55 +02:00
Hans-Kristian Arntzen
2d4587cd2b
Merge pull request #2155 from tklajnscek/tk_glsl_get_extensions_api
Added get_required_extensions() API to GLSL compiler
2023-06-06 15:21:42 +02:00
Hans-Kristian Arntzen
b0b2fd8d90 MSL: Add test for bool-in-struct edge cases. 2023-06-06 15:17:23 +02:00
Hans-Kristian Arntzen
bbcd8de9a3 MSL: Handle more complex array copy scenarios with bool <-> short. 2023-06-06 15:05:56 +02:00
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