Commit Graph

3577 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
8ec95fbe16 Consider dynamically indexed gl_Position in mesh. 2023-07-03 14:20:27 +02:00
Hans-Kristian Arntzen
601b60c531 Consider plain Position builtin variable as well. 2023-07-03 14:15:26 +02:00
Hans-Kristian Arntzen
a3d711cbf1 HLSL: Move new mesh shader around to more suitable location. 2023-07-03 14:03:04 +02:00
Hans-Kristian Arntzen
a065c3b48a Merge branch 'dx12-mesh-flip-y' of https://github.com/Try/SPIRV-Cross into pr-2168 2023-07-03 13:55:02 +02:00
Try
68376504a0 track access to meshlet position.y, via SPIRExpression 2023-07-01 15:49:35 +02:00
Hans-Kristian Arntzen
aafcc207ea HLSL: Add explicit error for floating point atomics. 2023-06-26 12:41:36 +02:00
Hans-Kristian Arntzen
9f463569c4
Merge pull request #2172 from cdavis5e/msl-legacy-subgroup
MSL: Support `SPV_KHR_shader_ballot` and `SPV_KHR_subgroup_vote`.
2023-06-26 12:27:06 +02:00
Hans-Kristian Arntzen
61d5ae9caa
Apply suggestions from code review 2023-06-26 12:23:34 +02:00
Hans-Kristian Arntzen
4f7e62d174
Merge pull request #2170 from cdavis5e/preserve-numeric-ids
Use --preserve-numeric-ids when assembling test shaders.
2023-06-26 12:19:25 +02:00
Chip Davis
00f14ce74f MSL: Support SPV_KHR_shader_ballot and SPV_KHR_subgroup_vote.
Normally, I wouldn't have bothered with this, given that we already
support the Vulkan 1.1 subgroup functionality, but a client asked for
the legacy extensions.
2023-06-24 15:53:04 -07:00
Chip Davis
68f0257f26 Use --preserve-numeric-ids when assembling test shaders.
This makes it easier to debug codegen for these shaders.
2023-06-23 14:54:16 -07:00
Try
34f7bd00cd flip-y-test 2023-06-18 16:19:49 +02:00
Try
85a564202f meshlet flip-y support 2023-06-18 16:06:31 +02:00
Hans-Kristian Arntzen
2d3a152081
Merge pull request #2167 from KhronosGroup/fix-2154
Skip line directives when emitting loop condition blocks.
2023-06-12 15:07:41 +02:00
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