Commit Graph

1960 Commits

Author SHA1 Message Date
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
Hans-Kristian Arntzen
46290a67d1 Update spirv.h. 2019-03-07 10:21:18 +01:00
Hans-Kristian Arntzen
a206afa785
Merge pull request #884 from KhronosGroup/negative-loop-tests
Extend loop tests to cover negative tests.
2019-03-06 13:27:00 +01:00
Hans-Kristian Arntzen
cff057ca5a We emit loop header variables even for while and dowhile.
Make the name clearer.
2019-03-06 12:30:11 +01:00
Hans-Kristian Arntzen
8bfb04d29d Run format_all.sh
Disable clang format in C wrapper for now.
Some weird formatting bug with the try/catch macro.
2019-03-06 12:20:13 +01:00
Hans-Kristian Arntzen
ef24337849 Support do-while where test is negative. 2019-03-06 12:17:38 +01:00
Hans-Kristian Arntzen
70ff96b03f Deal with more for loop candidate cases.
We can trivially deal with cases where the loop tests are simply
inverted. We can also deal with cases where the condition block branches
to the merge block via other noop blocks.
This makes SPIR-V codegen easier when targeting SPIRV-Cross.
2019-03-06 11:24:43 +01:00
Hans-Kristian Arntzen
b680c5fa34
Merge pull request #869 from KhronosGroup/c-api
Add a stable C API for SPIRV-Cross.
2019-03-06 10:09:53 +01:00
Hans-Kristian Arntzen
f0ad0f1015 Add ubsan and msan. 2019-03-05 11:15:08 +01:00
Hans-Kristian Arntzen
5341a189ff Add support for sanitizing address and threads. 2019-03-05 10:11:04 +01:00
Hans-Kristian Arntzen
e4704c5cf7 Run install targets on Travis. 2019-03-04 11:39:27 +01:00
Hans-Kristian Arntzen
73db6f3437 Build shared library in travis. 2019-03-04 11:38:39 +01:00
Hans-Kristian Arntzen
afef135dd8 Add a simple SPIR-V for purposes of smoke testing the C API. 2019-03-04 11:37:01 +01:00
Hans-Kristian Arntzen
3699ead741 Add C sample code to the README. 2019-03-04 11:33:01 +01:00