Commit Graph

3841 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
5ffc813dc4 GLSL: Require mesh shader when using perprimitiveEXT in frag shader. 2023-08-17 12:07:11 +02:00
Hans-Kristian Arntzen
44966e5000 MSL: Fixup nits from review. 2023-08-17 12:01:26 +02:00
Try
844cb59cd6 MSL: runtime array over argument buffers 2023-08-17 11:37:29 +02:00
Hans-Kristian Arntzen
637c211c6f
Merge pull request #2153 from etang-cw/TexFence
[WIP] MSL: Prevent RAW hazards on read_write textures
2023-08-17 11:05:55 +02:00
Evan Tang
894113f55b MSL: Make rw texture fences optional 2023-08-15 11:32:33 -05:00
Evan Tang
4405dd6b28 MSL: Prevent RAW hazards on read_write textures 2023-08-15 11:32:33 -05:00
Hans-Kristian Arntzen
bccaa94db8
Merge pull request #2178 from billhollings/arg-buff-fixes
Fix argument buffer padding when content includes arrays.
2023-07-26 10:52:38 +02:00
Bill Hollings
05524e7f82 Fix argument buffer padding when content includes arrays.
- When determining need for arg buffer padding, use the descriptor count provided
  by the app, rather than the shader, to determine the number of slots consumed,
  as the shader may only be accessing part, or even one element, of the array.
2023-07-14 18:57:34 -04:00
Hans-Kristian Arntzen
b43c1a1e63
Merge pull request #2176 from Try/msl-intersection-params
MSL: ray-query intersection params
2023-07-14 16:02:40 +02:00
Try
6b2ae11830 update rq unit tests 2023-07-03 21:45:34 +02:00
Try
35b23ef48f update rq unit tests 2023-07-03 20:04:23 +02:00
Try
62331b6ac6 + spvMakeIntersectionParams
#2115
2023-07-03 19:57:46 +02:00
Hans-Kristian Arntzen
b8e742c91b
Merge pull request #2174 from KhronosGroup/pr-2168
Land PR 2168
2023-07-03 15:52:20 +02:00
Hans-Kristian Arntzen
87e1ca4290 Add test for plain variable mesh position. 2023-07-03 14:25:22 +02:00
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