Hans-Kristian Arntzen
c27e1efbf1
HLSL: Add option to always treat SSBO as UAV, even with readonly.
...
This can make codegen more predictable since ByteAddressBuffer is SRV
and not UAV.
2020-03-04 16:42:31 +01:00
Hans-Kristian Arntzen
01968c4486
Add option to disable storage image qualifier deduction.
2020-03-04 16:42:31 +01:00
Hans-Kristian Arntzen
3ebc83da46
Remove old hack which forces NonWritable/NonReadable.
...
Somehow this has been lingering in the code base and effectively ignores
readonly/writeonly decoration declared by the shader.
2020-03-04 16:42:31 +01:00
Hans-Kristian Arntzen
9deb6ffbba
Merge pull request #1285 from KhronosGroup/vulkan-semantics-shorthand
...
Add -V alias for --vulkan-semantics.
2020-03-02 14:19:51 +01:00
Hans-Kristian Arntzen
3f2de0d5d3
Add -V alias for --vulkan-semantics.
2020-03-02 11:56:23 +01:00
Hans-Kristian Arntzen
c5f7b55756
Merge pull request #1284 from KhronosGroup/fix-1282
...
MSL: Reintroduce workarounds for arrays not being value types
2020-02-24 15:40:34 +01:00
Hans-Kristian Arntzen
16796e92be
MSL: Add C API for force native arrays.
2020-02-24 13:51:08 +01:00
Hans-Kristian Arntzen
d91e134500
MSL: Add native array test for composite array initialization.
2020-02-24 13:34:51 +01:00
Hans-Kristian Arntzen
30343f3e95
MSL: Reintroduce workaround for constant arrays being passed by value.
2020-02-24 13:22:52 +01:00
Hans-Kristian Arntzen
20b28f72fa
MSL: Reinstate workaround for returning arrays.
2020-02-24 13:04:10 +01:00
Hans-Kristian Arntzen
c9d4f9cd74
MSL: Add a workaround path to force native arrays for everything.
2020-02-24 12:47:14 +01:00
Hans-Kristian Arntzen
f19fdb94d7
Merge pull request #1283 from dj2/roll
...
Roll GLSLang, SPIRV-Tools and SPIRV-Headers
2020-02-20 10:33:45 +01:00
Dan Sinclair
7ec16b64c8
Roll GLSLang, SPIRV-Tools and SPIRV-Headers
...
This CL rolls the various dependencies of SPIRV-Cross and updates the
tests as needed.
2020-02-19 10:13:52 -05:00
Hans-Kristian Arntzen
dffd33dd9d
Merge pull request #1280 from KhronosGroup/fix-1278
...
Reject SPIR-V modules with garbage ID bound.
2020-02-14 16:30:33 +01:00
Hans-Kristian Arntzen
92a4294c57
Reject SPIR-V modules with garbage ID bound.
...
SPIR-V spec has a limit of ~4 million, and Vulkan spec does not increase
this bound, so be a bit defensive and fail early.
2020-02-14 12:57:01 +01:00
Hans-Kristian Arntzen
c53b34765d
Merge pull request #1277 from KhronosGroup/fix-1276
...
HLSL: Declare undef variables as static.
2020-02-08 15:03:07 +01:00
Hans-Kristian Arntzen
e81c1b1d98
HLSL: Declare undef variables as static.
...
Undef variables would somehow become cbuffer variables without any
warning ...
2020-02-08 13:39:50 +01:00
Hans-Kristian Arntzen
7ac5c38838
Merge pull request #1275 from KhronosGroup/fix-1274
...
Remove old memory_scope flag from iOS barriers.
2020-02-06 12:11:07 +01:00
Hans-Kristian Arntzen
cec0502ba5
Remove old memory_scope flag from iOS barriers.
...
I cannot find any reference to this flag ever having existed in older
MSL spec documents, and it breaks compilation on any recent SDK for any
iOS/macOS Metal version. Just remove it.
2020-02-06 10:18:00 +01:00
Hans-Kristian Arntzen
6b2add8e2c
Merge pull request #1272 from KhronosGroup/fix-1271
...
CMake: Avoid warning when parent project uses VERSION in project().
2020-02-03 10:54:26 +01:00
Hans-Kristian Arntzen
6f5cb00148
Use GNUInstallDirs for include path as well.
2020-02-03 10:53:30 +01:00
Hans-Kristian Arntzen
cb0aca91ef
Merge pull request #1273 from orbea/cmake
...
Add GNUInstallDirs + fixes for the pkg-config file
2020-02-03 10:47:55 +01:00
orbea
8b90526911
cmake: Don't hardcode the pkg-config file.
2020-02-02 06:17:04 -08:00
orbea
74544caa16
cmake: Use GNUInstallDirs.
2020-02-01 17:56:37 -08:00
Hans-Kristian Arntzen
d67c3393da
CMake: Avoid warning when parent project uses VERSION in project().
2020-02-01 23:14:06 +01:00
Hans-Kristian Arntzen
68bf0f824c
Merge pull request #1270 from KhronosGroup/fix-1266
...
GLSL: Support GL_ARB_enchanced_layouts for XFB.
2020-01-27 17:39:27 +01:00
Hans-Kristian Arntzen
dfffbb1cf3
Compile fix on older compilers.
2020-01-27 15:56:47 +01:00
Hans-Kristian Arntzen
655312cb47
GLSL: Support GL_ARB_enchanced_layouts for XFB.
2020-01-27 13:11:38 +01:00
Hans-Kristian Arntzen
306cb31bad
Merge pull request #1239 from cdavis5e/msl-inline-uniform-blocks
...
MSL: Support inline uniform blocks in argument buffers.
2020-01-27 11:17:47 +01:00
Chip Davis
ae6c05f6f4
MSL: Move inline uniform blocks to the end of the argument buffer.
...
Limit inline blocks to one per descriptor set.
This should avoid the need for complicated code to calculate the
argument buffer ID stride of an inline uniform block. If there's demand
for more inline blocks, we can revisit this.
2020-01-25 13:40:51 -06:00
Chip Davis
fedbc35315
MSL: Support inline uniform blocks in argument buffers.
...
Here, the inline uniform block is explicit: we instantiate the buffer
block itself in the argument buffer, instead of a pointer to the buffer.
I just hope this will work with the `MTLArgumentDescriptor` API...
Note that Metal recursively assigns individual members of embedded
structs IDs. This means for automatic assignment that we have to
calculate the binding stride for a given buffer block. For MoltenVK,
we'll simply increment the ID by the size of the inline uniform block.
Then the later IDs will never conflict with the inline uniform block. We
can get away with this because Metal doesn't require that IDs be
contiguous, only monotonically increasing.
2020-01-24 18:51:24 -06:00
Hans-Kristian Arntzen
f9376058ce
Merge pull request #1269 from KhronosGroup/fix-1267
...
Make SmallVector noexcept.
2020-01-23 12:23:13 +01:00
Hans-Kristian Arntzen
8bbb5fb763
Make SmallVector noexcept.
...
Fixes a linting error from cppcheck where reserve() calls can throw, but
caller is marked noexcept to allow proper move semantics.
Only real place to throw would be if allocations fail, but these
allocations tend to be small, and if allocation actually fails here,
we're basically OOM anyways, so just terminate. Constructors and assignment
could also fail, but the only way that could happen is memory related in
SPIRV-Cross' case, so just terminate if that happens as well.
Also, for good measure, add missing -fno-exceptions to EXCEPTIONS_TO_ASSERTIONS
path in CMake.
2020-01-23 10:52:37 +01:00
Hans-Kristian Arntzen
883de24f79
Merge pull request #1268 from barath121/patch-1
...
Typo at line 324
2020-01-22 15:09:25 +01:00
Barath Nadar
eac76d9473
Typo at line 324
2020-01-22 07:57:42 +05:30
Hans-Kristian Arntzen
f9818f0804
Update license headers to 2020.
2020-01-16 15:24:37 +01:00
Hans-Kristian Arntzen
7a411258af
Run format_all.sh.
2020-01-16 15:20:59 +01:00
Hans-Kristian Arntzen
af787a8a79
Merge pull request #1264 from KhronosGroup/msl-argument-buffer-persist
...
MSL: Add support for force-activating IAB resources.
2020-01-16 14:44:23 +01:00
Hans-Kristian Arntzen
4054d650cf
Merge pull request #1263 from KhronosGroup/fix-1232
...
Deal with illegal names in types as well.
2020-01-16 11:27:19 +01:00
Hans-Kristian Arntzen
c3bd136df1
MSL: Add support for force-activating IAB resources.
...
Important for ABI compatibility on MSL in certain cases.
2020-01-16 11:12:06 +01:00
Hans-Kristian Arntzen
f79c1e2fed
Deal with illegal names in types as well.
...
- Fixes issue with clip_distance flattening in MSL where member to
flatten from would come from to_member_name, where it should have used
the builtin name directly. This member name was modified by this patch
and broke clip distance test shaders.
- Some cleanups with ir.meta, use ir.find_meta instead to not create
unnecessary hashmap nodes.
2020-01-16 10:34:49 +01:00
Hans-Kristian Arntzen
79700d5412
Merge pull request #1262 from KhronosGroup/json-reflection-improvements
...
Reflection: Various improvements
2020-01-15 18:51:34 +01:00
Hans-Kristian Arntzen
57b70225ef
Merge pull request #1261 from KhronosGroup/fix-379
...
GLSL: Implement geometry shader passthrough extension.
2020-01-15 17:17:33 +01:00
Hans-Kristian Arntzen
762c87a7bb
Reflection: Add array stride/matrix stride reflection.
2020-01-15 17:01:35 +01:00
Hans-Kristian Arntzen
18e24c3ca2
Reflection: Emit reflection information for array size literalness.
...
If not literal, check specialization_constant entries for "variable_id"
to link up ID with spec constant values. This maps directly to C++ API.
2020-01-15 16:49:19 +01:00
Hans-Kristian Arntzen
55fe6050fe
GLSL: Implement geometry shader passthrough extension.
2020-01-15 16:18:29 +01:00
Hans-Kristian Arntzen
172e39f039
Merge pull request #1257 from KhronosGroup/fix-1236
...
Deal with bitcasting for subgroup Min/Max operations
2020-01-09 15:35:43 +01:00
Hans-Kristian Arntzen
74107a04d1
Merge pull request #1256 from KhronosGroup/fix-1252
...
HLSL: Add a resource remapping API similar to MSL.
2020-01-09 15:35:26 +01:00
Hans-Kristian Arntzen
cc153f8d7f
HLSL: Add a resource remapping API similar to MSL.
...
Allows more flexibility of how resources are assigned without having to
remap decorations.
2020-01-09 12:41:06 +01:00
Hans-Kristian Arntzen
2bbb012e9c
MSL: Deal with sign on wave min/max.
2020-01-09 12:35:18 +01:00