Commit Graph

2862 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
6f1f6775f3 Add comment where aux image atomic buffers are reflected from.
They also use secondary bindings, not just samplers.
2021-02-17 10:42:58 +01:00
Hans-Kristian Arntzen
92d379bab4
Merge pull request #1620 from phuang/patch-1
Fix build errors on Windows
2021-02-17 10:30:10 +01:00
Peng Huang
bc3416a18f
Fix build errors on Windows
error:
clang-cl: error: unknown argument ignored in clang-cl: '-fno-exceptions'
2021-02-16 20:42:00 -05:00
Hans-Kristian Arntzen
bae17e8204
Merge pull request #1617 from KhronosGroup/fix-1608
MSL: Fixup type when using tessellation levels in TESC functions.
2021-02-16 11:10:07 +01:00
Hans-Kristian Arntzen
5789e3eed9
Merge pull request #1616 from KhronosGroup/fix-1609
MSL: Always return [[position]] when required.
2021-02-15 18:19:55 +01:00
Hans-Kristian Arntzen
daddbd4078 MSL: Fixup type when using tessellation levels in TESC functions.
Need to rewrite array size depending on execution mode.
2021-02-15 13:28:11 +01:00
Hans-Kristian Arntzen
0ad12a0036 MSL: Always return [[position]] when required. 2021-02-15 12:57:37 +01:00
Hans-Kristian Arntzen
05a1a07f70
Merge pull request #1615 from KhronosGroup/fix-1612
c: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option.
2021-02-15 11:45:20 +01:00
Hans-Kristian Arntzen
09dc76f68a c: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option. 2021-02-15 11:43:46 +01:00
Hans-Kristian Arntzen
8f5ab50fb8
Merge pull request #1614 from KhronosGroup/fix-1610
HLSL: Add vector to illegal names list.
2021-02-15 11:40:25 +01:00
Hans-Kristian Arntzen
21a931613e HLSL: Add vector to illegal names list. 2021-02-15 11:38:14 +01:00
Bill Hollings
4741bbaa64
Merge pull request #1606 from billhollings/position-invariance
Expose position invariance.
2021-01-29 13:36:15 -05:00
Bill Hollings
8e03cb60a5 Expose position invariance.
Used with MSL to determine whether to compile with invariance preserved.
2021-01-28 16:13:20 -05:00
Hans-Kristian Arntzen
84a41cd488
Merge pull request #1603 from KhronosGroup/small-improvements
Various small improvements and fixes
2021-01-22 16:30:57 +01:00
Hans-Kristian Arntzen
ea02a0c03a Check entry point variables in is_hidden_variables.
Need to be careful not to emit globals we're not supposed to.
2021-01-22 13:53:22 +01:00
Hans-Kristian Arntzen
4bedad3860 Handle nonuniformEXT qualifier for acceleration structures. 2021-01-22 13:13:56 +01:00
Hans-Kristian Arntzen
7ab3f3f74e Deal better with CompositeExtract from constant composite.
There is no good reason for applications to emit this kind of code, but
some do. Special case this scenario.
2021-01-22 12:30:16 +01:00
Hans-Kristian Arntzen
66fb0bd9df GLSL: Handle tracing against incoming payload/callable. 2021-01-22 11:23:04 +01:00
Hans-Kristian Arntzen
9acb9ec31f
Merge pull request #1594 from KhronosGroup/fix-1591
Fix pathological complexity explosion for certain shaders.
2021-01-15 10:46:23 +01:00
Hans-Kristian Arntzen
a5eaf2f44a
Merge pull request #1595 from KhronosGroup/copyright-update
meta: Update copyright headers to 2021.
2021-01-14 16:10:07 +01:00
Hans-Kristian Arntzen
4704482bbc meta: Update copyright headers to 2021. 2021-01-14 16:07:49 +01:00
Hans-Kristian Arntzen
4c866e4662 Fix pathological complexity explosion for certain shaders.
Certain shaders where functions have a *ton* of merging control flow
will end up with exponential time complexity to figure out parameter
preservation semantics.

The trivial fix to make it O(1) again is to terminate recursive traversal early if we've seen
the path before. Simple oversight :(
2021-01-14 16:00:10 +01:00
Hans-Kristian Arntzen
820179bf46
Merge pull request #1590 from KhronosGroup/fix-1584
Update ray-tracing support to include SPV_KHR_ray_tracing
2021-01-09 22:28:19 +01:00
Hans-Kristian Arntzen
2097c30985 GLSL: Support both SPV_KHR_ray_tracing and NV_ray_tracing.
Fairly minor differences, so can keep them side by side without too much
effort. NV support is effectively deprecated now however.

- Add OpConvertUToAccelerationStructureKHR
- Ignore/Terminate ray is now a terminator in KHR, but a call in NV.
- Fix some bugs with reportIntersection.
2021-01-08 14:59:04 +01:00
Hans-Kristian Arntzen
702c903f98
Merge pull request #1589 from KhronosGroup/roll-deps
Roll dependencies.
2021-01-08 14:58:44 +01:00
Hans-Kristian Arntzen
ce18d1b8a5 CLI: Fix silly regression with handling of -V. 2021-01-08 10:51:49 +01:00
Hans-Kristian Arntzen
5d82d32e0f Roll dependencies. 2021-01-08 10:41:51 +01:00
Hans-Kristian Arntzen
0e5078dc0c
Merge pull request #1588 from KhronosGroup/fix-1582
MSL: Fix some edge cases in input attachment handling.
2021-01-08 10:37:19 +01:00
Hans-Kristian Arntzen
893a011299 MSL: Fix various bugs with framebuffer fetch on macOS and argument buffers.
Introduce a helper to make it clearer if a resource can be
considered for argument buffers or not.
2021-01-08 10:19:18 +01:00
Hans-Kristian Arntzen
3136e34215 MSL: Always use input_attachment_index for framebuffer fetch binding.
--msl-decoration-binding would end up overriding the input attachment
index to binding which is very unexpected and broken.
2021-01-08 10:17:42 +01:00
Hans-Kristian Arntzen
134a520034
Merge pull request #1587 from KhronosGroup/refactor-active-variable-consideration
Refactor active variable consideration
2021-01-08 10:16:22 +01:00
Hans-Kristian Arntzen
03ee71e86c Add test for pure initializer gl_FragDepth.
Tests that the builtin is considered active.
2021-01-07 15:32:15 +01:00
Hans-Kristian Arntzen
3776d8978c GLSL: Force block declaration if clip/cull is used in tesc. 2021-01-07 15:32:15 +01:00
Hans-Kristian Arntzen
014b3bc5ea MSL: Make sure initialized output builtins are considered active. 2021-01-07 15:32:13 +01:00
Hans-Kristian Arntzen
a4a9b53b5b MSL: Always enable Outputs in vertex stages.
Subsequent stages can legally attempt to read from these variables,
which causes compilation failure.

Always make sure we emit user outputs in vertex shaders if they are
active in the entry point.
2021-01-07 11:24:47 +01:00
Hans-Kristian Arntzen
fa76d01203 MSL: Only consider builtin variables if they are part of IO interface. 2021-01-07 10:50:29 +01:00
Hans-Kristian Arntzen
c8837d7d80 MSL: Very slight refactor. 2021-01-07 10:27:14 +01:00
Hans-Kristian Arntzen
234c65c0f3
Merge pull request #1585 from KhronosGroup/fix-1569
GLSL: Update SPIR-V headers for modified ray tracing opcodes.
2021-01-07 09:51:37 +01:00
Hans-Kristian Arntzen
72e9f619a9
Merge pull request #1583 from KhronosGroup/fix-1567
CLI: Add stdin support.
2021-01-07 09:51:22 +01:00
Hans-Kristian Arntzen
42ec132357
Merge pull request #1581 from KhronosGroup/fix-1554
GLSL/MSL: Handle more complicated tessellation Output initializers
2021-01-07 09:51:09 +01:00
Hans-Kristian Arntzen
c033a93951 GLSL: Fix -Wshadow error. 2021-01-06 12:59:57 +01:00
Hans-Kristian Arntzen
1a28a04333 GLSL: Update SPIR-V headers for modified ray tracing opcodes. 2021-01-06 11:38:27 +01:00
Hans-Kristian Arntzen
02b7f9cbe9 CLI: Add stdin support. 2021-01-06 11:06:41 +01:00
Hans-Kristian Arntzen
efed4c9738 MSL: Fix initializer for tess level outputs.
It's an array, not vector.
2021-01-06 10:39:39 +01:00
Hans-Kristian Arntzen
ab9200ffdf MSL: Don't flatten builtin arrays unless they're part of IO interface. 2021-01-06 10:33:17 +01:00
Hans-Kristian Arntzen
df4f8ef8fe MSL: Emit correct initializer for tessellation control points. 2021-01-05 15:16:49 +01:00
Hans-Kristian Arntzen
ad3e1584f9 MSL: Handle initializers for tess levels. 2021-01-05 13:25:50 +01:00
Hans-Kristian Arntzen
39fee93906 GLSL: Refactor out Output variable initialization. 2021-01-05 12:50:36 +01:00
Hans-Kristian Arntzen
6a3ea0385e GLSL: Add test for initializing tess level output. 2021-01-05 12:12:26 +01:00
Hans-Kristian Arntzen
175381fe08 GLSL: Handle some extreme edge cases in Output variable initialization.
Deal with patch blocks, arrays of patch blocks, arrays of blocks, etc.
2021-01-05 12:06:36 +01:00