Hans-Kristian Arntzen
c37f88fea6
MSL: Fix crash where variable storage buffer pointers are passed down.
...
Only deal with readonly decoration for actual block types.
2019-03-28 10:16:46 +01:00
Hans-Kristian Arntzen
ef4aa46be7
Merge pull request #914 from KhronosGroup/fix-909
...
Make build system more modular.
2019-03-27 14:18:12 +01:00
Hans-Kristian Arntzen
6648ccc9e5
Merge pull request #913 from KhronosGroup/fix-908
...
Properly deal with sign-dependent GLSL opcodes.
2019-03-27 14:18:01 +01:00
Hans-Kristian Arntzen
6b69fe65f8
Make build system more modular.
...
Allow user to disable individual backends.
Disallow this for CLI builds for now, but should be useful for
library-only builds, and particularly for C API.
2019-03-27 13:21:11 +01:00
Hans-Kristian Arntzen
eeb3f24991
Properly deal with sign-dependent GLSL opcodes.
...
The GLSLstd450 spec is very lax about input signs, so we need to do the
bitcasting dance to implement it correctly.
2019-03-27 12:20:53 +01:00
Hans-Kristian Arntzen
b64e4564ba
Merge pull request #912 from KhronosGroup/fix-910
...
Parser: Fix OpCompositeConstruct with OpUndef.
2019-03-27 12:20:41 +01:00
Hans-Kristian Arntzen
df3e21a762
Parser: Fix OpCompositeConstruct with OpUndef.
...
Just treat any undefined argument as 0. It is risky to use the undefined
variable as it might not lower to a true constant.
2019-03-27 10:51:23 +01:00
Hans-Kristian Arntzen
88ce958a51
Add ray-tracing reflection to main.cpp and C API.
2019-03-27 10:21:30 +01:00
Hans-Kristian Arntzen
689a7deb3e
Make ray-tracing files .nocompat.
2019-03-27 10:04:42 +01:00
Hans-Kristian Arntzen
82e23e4221
Merge branch 'SPV_NV_ray_tracing' of git://github.com/pmoursnv/SPIRV-Cross
2019-03-27 09:58:23 +01:00
Patrick Mours
0f72199b8f
Add generated reference shaders again
2019-03-26 15:21:12 +01:00
Patrick Mours
b2a667520d
Add reflection support for ray tracing acceleration structures
2019-03-26 15:09:42 +01:00
Patrick Mours
524bd43deb
Add reflection support for ray tracing exection models
2019-03-26 14:46:51 +01:00
Patrick Mours
9910cdbf0c
Remove reference shaders again
2019-03-26 14:27:42 +01:00
Patrick Mours
90c91e4f23
Fix missing check for purity on ray tracing builtins
2019-03-26 14:25:25 +01:00
Patrick Mours
c96bab0659
Replace usage of "require_extension" with "require_extension_internal" and "to_func_call_arg" with "to_expression"
2019-03-26 14:04:39 +01:00
Patrick Mours
dfa2a0abf9
Add generated reference shaders
...
See commit aa1c72bc51
2019-03-25 15:16:08 +01:00
Patrick Mours
aa1c72bc51
Add ray tracing test shaders
...
Slightly modified from https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#_sample_code_2
2019-03-25 15:07:51 +01:00
Patrick Mours
c74d7a412c
Add "GL_NV_ray_tracing" extension to output when ray tracing execution model is found
2019-03-25 15:06:01 +01:00
Patrick Mours
b2651d01e5
Merge branch master into SPV_NV_ray_tracing
2019-03-25 14:09:15 +01:00
Hans-Kristian Arntzen
736703fe3b
Merge pull request #903 from KhronosGroup/fix-901
...
Support -1 index in OpVectorShuffle.
2019-03-25 10:50:25 +01:00
Hans-Kristian Arntzen
8eb33c8017
Support -1 index in OpVectorShuffle.
...
-1 (0xffffffff) literal means the component should be undefined.
Since we cannot express undefined directly, just use a 0 literal in the
appropriate type.
2019-03-25 10:17:05 +01:00
Hans-Kristian Arntzen
9dbb25783f
Merge pull request #900 from KhronosGroup/fix-899
...
GLSL/HLSL: Implement NMin/NMax/NClamp.
2019-03-21 17:17:28 +01:00
Hans-Kristian Arntzen
2a0365c813
GLSL/HLSL: Implement NMin/NMax/NClamp.
...
Need to emulate these calls for correctness.
2019-03-21 15:26:46 +01:00
Hans-Kristian Arntzen
5dacfa9dc2
Merge pull request #898 from KhronosGroup/fix-897
...
GLSL: Fix some complex cases for loading arrays
2019-03-21 13:52:00 +01:00
Hans-Kristian Arntzen
0b20180537
GLSL: Deal with array loads from input in tessellation.
...
We have an edge case where the array is declared with a concrete size,
but in GLSL we must emit an unsized array, which breaks array copies.
Deal explicitly with this.
2019-03-21 11:50:53 +01:00
Hans-Kristian Arntzen
d2961b30db
GLSL: Unroll loads from builtin pos/point arrays.
...
Odd-ball case for certain geometry shaders coming from HLSL.
2019-03-21 11:25:41 +01:00
Hans-Kristian Arntzen
1b00a6e48a
Merge pull request #896 from KhronosGroup/fix-895
...
Move check for structured OpSwitch to CompilerGLSL.
2019-03-20 12:12:00 +01:00
Hans-Kristian Arntzen
45baf24a17
Move check for structured OpSwitch to CompilerGLSL.
...
Can still parse correctly.
2019-03-20 10:42:38 +01:00
Hans-Kristian Arntzen
a94490498d
Merge pull request #894 from KhronosGroup/fix-882
...
GLSL: Support emitting push constant block as a plain UBO.
2019-03-19 11:56:24 +01:00
Hans-Kristian Arntzen
1389aa34e4
GLSL: Check target version for push constant location = N.
2019-03-19 11:20:53 +01:00
Hans-Kristian Arntzen
0474848d4a
GLSL: Support emitting push constant block as a plain UBO.
2019-03-19 10:58:52 +01:00
Hans-Kristian Arntzen
66f32eca72
Merge pull request #893 from KhronosGroup/fix-891
...
Fix build on Android API < 26.
2019-03-18 10:15:20 +01:00
Hans-Kristian Arntzen
7310274a4f
Fix build on Android API < 26.
2019-03-18 10:14:04 +01:00
Hans-Kristian Arntzen
f1d10089fa
Merge pull request #892 from fjhenigman/roll
...
Update to latest glslang/SPIRV-Tools.
2019-03-18 09:59:21 +01:00
Frank Henigman
b393fa5c85
Update to latest glslang/SPIRV-Tools.
2019-03-17 23:38:34 -04:00
Hans-Kristian Arntzen
62dce70c2e
Merge pull request #890 from KhronosGroup/msl-argument-buffers
...
MSL: Add support for Metal 2 indirect argument buffers.
2019-03-16 10:31:54 +01:00
Hans-Kristian Arntzen
d8e4d995e5
Remove strange include which got included for some reason.
2019-03-15 21:55:53 +01:00
Hans-Kristian Arntzen
e2aadf8995
Rename "push descriptor set" to "discrete descriptor set".
...
Check for case where iOS doesn't support writable argument buffer
textures.
2019-03-15 21:53:21 +01:00
Hans-Kristian Arntzen
b3380ec9dd
MSL: Support VK_KHR_push_descriptor.
...
If we have argument buffers, we also need to support using plain
descriptor sets for certain cases where API wants it.
2019-03-15 14:08:47 +01:00
Hans-Kristian Arntzen
a5f072d2ab
MSL: Add some comments about how we remap bindings for IAB.
2019-03-15 13:07:59 +01:00
Hans-Kristian Arntzen
c310b40fd3
MSL: Make sure get_buffer_block_flags is only used in right context.
2019-03-15 12:27:54 +01:00
Hans-Kristian Arntzen
bc21ccb7ce
MSL: Emit correct SSBO constness for argument buffers.
2019-03-15 12:05:35 +01:00
Hans-Kristian Arntzen
969566aff5
MSL: Fixup buffer array case issue on MSL 1.0.
2019-03-15 11:37:34 +01:00
Hans-Kristian Arntzen
af8a9ccdcb
MSL: Need to emit two layers of address space.
...
When passing down arrays of buffer pointers, the array itself needs an
address space.
2019-03-15 11:29:17 +01:00
Hans-Kristian Arntzen
e47a77d596
MSL: Implement Metal 2.0 indirect argument buffers.
2019-03-15 11:01:27 +01:00
Hans-Kristian Arntzen
ed55e0ac6d
Merge pull request #886 from KhronosGroup/fix-885
...
Gracefully fall back in test suite if we haven't built external dependencies
2019-03-07 14:39:31 +01:00
Hans-Kristian Arntzen
852e63eebc
Clean up some very verbose argument passing.
2019-03-07 12:43:00 +01:00
Hans-Kristian Arntzen
074f765a83
Explicitly pass down paths to glslang/spirv-tools.
...
Windows and CMake really cannot get along with %PATH%, sigh ...
2019-03-07 12:36:16 +01:00
Hans-Kristian Arntzen
79d995caab
Gracefully fall back in test suite if we haven't built deps.
2019-03-07 10:22:58 +01:00