Commit Graph

2433 Commits

Author SHA1 Message Date
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
Hans-Kristian Arntzen
88ddeec49a HLSL: Deal with casting for WaveActiveMin/Max. 2020-01-09 12:35:18 +01:00
Hans-Kristian Arntzen
5253da9e63 GLSL: Deal with sign in subgroup Min/Max operations. 2020-01-09 12:35:14 +01:00
Hans-Kristian Arntzen
34ba8ea4f2
Merge pull request #1255 from KhronosGroup/fix-1254
HLSL: Support reading and writing complex composites from/to ByteAddressBuffers
2020-01-08 15:59:44 +01:00
Hans-Kristian Arntzen
c256525c7b Run format_all.sh. 2020-01-08 14:27:34 +01:00
Hans-Kristian Arntzen
1cbd71b354 HLSL: Fix bug when reading and writing structs from SSBO. 2020-01-08 14:27:02 +01:00
Hans-Kristian Arntzen
151ff1e870 HLSL: Implement stores for complex composites in ByteAddressBuffers. 2020-01-08 14:17:28 +01:00
Hans-Kristian Arntzen
ca9398c122 HLSL: Support loading complex composites from ByteAddressBuffer. 2020-01-08 13:05:56 +01:00
Hans-Kristian Arntzen
b522b409ae Run format_all.sh. 2020-01-08 10:48:30 +01:00
Hans-Kristian Arntzen
02441fe2d3
Merge pull request #1253 from KhronosGroup/fix-1249
MSL: Partially implement support for Component decoration in complex scenarios
2020-01-07 22:56:24 +01:00
Hans-Kristian Arntzen
c024e24d45 MSL: Deal with padded fragment output + Component decoration. 2020-01-07 17:02:12 +01:00
Hans-Kristian Arntzen
8871502a20 MSL: Explicitly don't support component packing for tessellation. 2020-01-07 16:49:19 +01:00
Hans-Kristian Arntzen
ecdfd3eb66 MSL: Don't set OrigID when emitting component packed vectors.
There is no unique OrigID, so we shouldn't ever need to look at this
value.
2020-01-07 14:57:19 +01:00
Hans-Kristian Arntzen
93f3265fe0 MSL: Deal with packing vectors for vertex input/fragment output. 2020-01-07 14:14:31 +01:00
Hans-Kristian Arntzen
7a69d764b0 MSL: Add trivial tests for Component decoration.
Verifies that Component decoration is honored for vertex outputs and
fragment inputs.
2020-01-07 11:36:51 +01:00
Hans-Kristian Arntzen
961b9014af
Merge pull request #1250 from KhronosGroup/fix-1247
Implement SPIR-V 1.4 OpCopyLogical
2020-01-06 16:03:07 +01:00
Hans-Kristian Arntzen
369bdf0b16
Merge pull request #1251 from KhronosGroup/fix-1244
Roll custom versions of isalpha/isalnum.
2020-01-06 16:01:49 +01:00
Hans-Kristian Arntzen
91e917b8ca Fix Clang warnings. 2020-01-06 13:40:33 +01:00
Hans-Kristian Arntzen
fc4a07c822 Roll custom versions of isalpha/isalnum.
Avoids locale issues and avoids unexpected assertions for non-ASCII
values.
2020-01-06 13:04:57 +01:00
Hans-Kristian Arntzen
8bef6ff167 Add test shader for OpCopyLogical with packing/unpacking. 2020-01-06 12:44:18 +01:00
Hans-Kristian Arntzen
cf725b4c63 Go through access chain path for OpCopyLogical.
We will need to deal with packing/unpacking data when copying from/to
complex types in MSL.
2020-01-06 12:29:44 +01:00
Hans-Kristian Arntzen
9012a39b60 Basic implementation of OpCopyLogical. 2020-01-06 11:47:26 +01:00
Hans-Kristian Arntzen
437b9ad2e9
Merge pull request #1243 from daemyung/master
Add debug prefix on Windows
2019-12-22 18:07:07 +01:00
daemyung jang
0b5691394c Add debug prefix on Windows 2019-12-21 08:59:03 +09:00
Hans-Kristian Arntzen
f912c32898
Merge pull request #1235 from KhronosGroup/patch-input-array-fix
GLSL: Fix array of input patch variables.
2019-12-10 14:28:33 +01:00
Hans-Kristian Arntzen
7c1e34f3b9 GLSL: Fix array of input patch variables.
Hoist out the hack to make array sizes unsized to a place where we can
differentiate patch variables from control point variables.
2019-12-10 12:02:12 +01:00
Hans-Kristian Arntzen
363035c798
Merge pull request #1233 from KhronosGroup/fix-1231
GLSL: Fix EmitStreamVertex/Primitive.
2019-12-09 13:29:49 +01:00
Hans-Kristian Arntzen
d7e612f91a GLSL: Fix EmitStreamVertex/Primitive. 2019-12-09 10:49:48 +01:00
Hans-Kristian Arntzen
15b860eb1c
Merge pull request #1230 from KhronosGroup/cleanup-workgroup-barrier
Don't emit memoryBarrierShared() in workgroup control barriers.
2019-12-04 16:41:34 +01:00
Hans-Kristian Arntzen
00d5c78447 Remove obsolete use of AtomicCounterMemoryMask. 2019-12-04 15:30:07 +01:00
Hans-Kristian Arntzen
67b2991451 Don't emit memoryBarrierShared() in workgroup control barriers.
This is implied in both GL and GLES. Emitting memoryBarrierShared() was
based on earlier confusion in the spec which has since been fixed and
clarified.
2019-12-04 15:06:19 +01:00
Hans-Kristian Arntzen
faa34631cb
Merge pull request #1229 from dj2/robust_access
Update graphics robust access results
2019-12-04 10:20:59 +01:00