Commit Graph

2556 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
ef247e75ec GLSL: Improve support for GL_ARB_shader_draw_parameters in desktop GLSL.
Opt-in to using the extension to support gl_InstanceIndex.
2020-05-22 12:53:34 +02:00
Hans-Kristian Arntzen
ec558bc98e
Merge pull request #1371 from dj2/roll-deps-21
Roll SPIRV-Tools, SPIRV-Headers and GLSLang.
2020-05-22 11:14:43 +02:00
dan sinclair
3d01d1bf50 Roll SPIRV-Tools, SPIRV-Headers and GLSLang.
This CL rolls the various dependencies and updates the test files.
2020-05-21 15:21:41 -04:00
Hans-Kristian Arntzen
287e93ff80
Merge pull request #1370 from dj2/roll_deps_20
Roll dependencies
2020-05-21 13:18:50 +02:00
Hans-Kristian Arntzen
29ad40e93e
Merge pull request #1369 from KhronosGroup/more-rt-tests
GLSL: Add more tests for RT.
2020-05-20 17:04:27 +02:00
dan sinclair
8bf916f575 Roll dependencies
This CL updates the GLSLang, SPIRV-Tools and SPIRV-Headers dependencies.
2020-05-20 10:27:51 -04:00
Hans-Kristian Arntzen
b4dd0b6fb1 GLSL: Add more test shaders for hit attribute types. 2020-05-20 15:07:50 +02:00
Hans-Kristian Arntzen
66ec3e3e54 GLSL: Support ray payloads and hit attributes declared as Block. 2020-05-20 15:07:47 +02:00
Hans-Kristian Arntzen
271ad33380 GLSL: Add some more focused RT test shaders. 2020-05-20 14:11:28 +02:00
Hans-Kristian Arntzen
3c43f055df
Merge pull request #1366 from KhronosGroup/fix-1365
HLSL: Implement image queries for UAV images.
2020-05-19 14:47:48 +02:00
Hans-Kristian Arntzen
f3a362b1aa HLSL: Implement image queries for UAV images.
This was completely unimplemented for some reason.
2020-05-19 13:53:04 +02:00
Hans-Kristian Arntzen
d638d2df9c
Merge pull request #1363 from KhronosGroup/rt-gl-instance-id
Support gl_InstanceID in RT shaders.
2020-05-08 13:41:30 +02:00
Hans-Kristian Arntzen
86380acf4d Support gl_InstanceID in RT shaders. 2020-05-08 13:39:43 +02:00
Hans-Kristian Arntzen
b7823ec389
Merge pull request #1361 from KhronosGroup/msl-single-element-array-refinement
MSL: Avoid packed arrays in more cases.
2020-05-06 11:40:08 +02:00
Hans-Kristian Arntzen
107ab7c2b7 MSL: Avoid packed arrays in more cases.
Extend the array stride relaxation to non-packed arrays as well, as
long as the array in question contains a single array element.
2020-05-06 10:27:12 +02:00
Hans-Kristian Arntzen
de3698f0e0 Add missing reference files from PR merge. 2020-05-06 10:08:01 +02:00
Hans-Kristian Arntzen
b8ba89a1ac Merge branch 'master' of git://github.com/kakashidinho/SPIRV-Cross 2020-05-06 10:03:36 +02:00
Le Hoang Quyen
9ddfe6db6d Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix.
Scalar type is already packed in metal.
2020-05-06 00:43:34 +08:00
Hans-Kristian Arntzen
92f7d36c72
Merge pull request #1356 from KhronosGroup/fix-1354
MSL: Redirect member indices when buffer has been sorted by Offset.
2020-04-30 14:09:08 +02:00
Hans-Kristian Arntzen
0ebb88cc39 MSL: Redirect member indices when buffer has been sorted by Offset.
If a buffer rewrites its Offsets, all member references to that struct
are invalidated, and must be redirected, do so in to_member_reference,
but there might be other places where this is needed. Fix as required.
SPIR-V code relying on this is somewhat questionable, but seems to be
in-spec.
2020-04-30 11:48:53 +02:00
Hans-Kristian Arntzen
137dbeb7f1
Merge pull request #1355 from Kangz/fix-microsoft-enum-value
Fix -Wmicrosoft-enum-value
2020-04-30 10:51:46 +02:00
Corentin Wallez
a3a590a82e Fix -Wmicrosoft-enum-value
This is triggered when building projects that depend on SPIRV-Cross with
clang-cl on Windows with `-pedantic`

../../third_party/spirv-cross/spirv_common.hpp(781,3): error: enumerator
value is not representable in the underlying type 'int'
[-Werror,-Wmicrosoft-enum-value]
                NoDominator = 0xffffffffu
2020-04-30 10:00:28 +02:00
Hans-Kristian Arntzen
7e0295abf8
Merge pull request #1353 from zoddicus/updateSPIRVHeaders
Update SPIR-V Headers to 1.5 rev 3
2020-04-28 18:46:45 +02:00
Ryan Harrison
76658247ac Update SPIR-V Headers to 1.5 rev 3 2020-04-28 10:16:39 -04:00
Hans-Kristian Arntzen
471990d4dc
Merge pull request #1349 from KhronosGroup/fix-1348
Work around odd deadlock in test_shaders.py in --parallel mode.
2020-04-27 18:50:55 +02:00
Hans-Kristian Arntzen
35a9b793d6 Work around odd deadlock in test_shaders.py in --parallel mode.
Not exactly sure what is going on, internet suggests there's a pipe that
fills up. Calling close() before we start waiting for results seems to
do the trick.
2020-04-27 16:44:14 +02:00
Hans-Kristian Arntzen
d7d630a0b7
Merge pull request #1347 from KhronosGroup/fix-1343
Implement OpAtomicLoad/OpAtomicStore.
2020-04-27 15:29:21 +02:00
Hans-Kristian Arntzen
4330b046be
Merge pull request #1346 from KhronosGroup/fix-1340
MSL: Fix case where subpassInput is passed to leaf functions.
2020-04-27 13:26:51 +02:00
Hans-Kristian Arntzen
9b7140e2ba Implement OpAtomicLoad/OpAtomicStore.
Need some emulation on GLSL/HLSL, fix bug with atomic store on MSL.
2020-04-27 12:11:46 +02:00
Hans-Kristian Arntzen
cbaaa02af9
Merge pull request #1345 from apayen/master
Fixed recursion in combined_decoration_for_member
2020-04-27 11:31:39 +02:00
Hans-Kristian Arntzen
6ef47d6657 MSL: Fix case where subpassInput is passed to leaf functions. 2020-04-27 11:29:21 +02:00
Alexis Payen de la Garanderie
4edfe96739 Fixed recursion in combined_decoration_for_member
Members in nested structs were not properly iterated on,
and as a result, flags like row major for matrices could be
not propagated properly.
2020-04-27 15:54:16 +09:00
Hans-Kristian Arntzen
7ba0f8f087
Merge pull request #1342 from dj2/roll
Roll GLSLang, SPIRV-Tools and SPIRV-Headers.
2020-04-24 19:11:23 +02:00
dan sinclair
171c646474 Roll GLSLang, SPIRV-Tools and SPIRV-Headers.
This CL rolls the various dependencies and updates tests to match.
2020-04-23 10:53:49 -04:00
Hans-Kristian Arntzen
1ad1662a2b
Merge pull request #1339 from KhronosGroup/fix-1338
GLSL: Support f16x2 <-> f32 bitcast.
2020-04-22 12:21:26 +02:00
Hans-Kristian Arntzen
5e5d1c27ce GLSL: Support f16x2 <-> f32 bitcast.
There is no native formulation, so introduce a concept of a "complex"
bitcast to handle odd-ball cases which have no native unary operation.
2020-04-21 23:27:33 +02:00
Hans-Kristian Arntzen
c58839bfd4
Merge pull request #1336 from KhronosGroup/fix-1333
Handle RayQueryKHR type.
2020-04-21 16:31:22 +02:00
Hans-Kristian Arntzen
bf289c37a2
Merge pull request #1337 from KhronosGroup/nonuniform-propagation-fix
Be a bit more careful what nonuniform state is propagated.
2020-04-21 14:49:57 +02:00
Hans-Kristian Arntzen
bdb343ea06 Be a bit more careful what nonuniform state is propagated. 2020-04-21 14:48:44 +02:00
Hans-Kristian Arntzen
6b0e558169 Handle RayQueryKHR type.
Do not error out in parsing in shaders which use ray queries.
2020-04-21 14:25:18 +02:00
Hans-Kristian Arntzen
78b4d9379b Update SPIR-V headers. 2020-04-21 14:23:24 +02:00
Hans-Kristian Arntzen
b2e934b53f
Merge pull request #1328 from devshgraphicsprogramming/patch-1
Try and solve issue #1327
2020-04-21 14:06:27 +02:00
Hans-Kristian Arntzen
5cb0f0a640
Merge pull request #1335 from KhronosGroup/fix-1325
GLSL/HLSL: Implement unpack/pack2x32Uint
2020-04-21 14:05:12 +02:00
Mateusz Kielan
127224d816 Fix issue #1327
Drop the nonuniform_qualifier in GLSL downcompile NV_gpu_shader5 supports divergent indexing transparently, but obviously runtime sized descriptor arrays are not supported by anything in OpenGL.
2020-04-21 13:29:30 +02:00
Hans-Kristian Arntzen
58548e25a2
Merge pull request #1334 from KhronosGroup/fix-1332
MSL: Deal correctly with initializers on Private variables.
2020-04-21 12:16:27 +02:00
Hans-Kristian Arntzen
7b9cba7424 HLSL: Add parens in unpackUint2x32 for clarity. 2020-04-21 11:49:26 +02:00
Hans-Kristian Arntzen
e4e4791c4e HLSL: Only allow 64-bit integers in SM 6.0. 2020-04-21 11:49:26 +02:00
Hans-Kristian Arntzen
a396744f89 Ensure unpack/pack2x32 tests are compatible with test suite. 2020-04-21 11:48:58 +02:00
Asuka
55dfbead2f GLSL/HLSL: Support packUint2x32 and unpackUint2x32 2020-04-21 11:34:12 +02:00
Hans-Kristian Arntzen
f8592ecdfc MSL: Deal correctly with initializers on Private variables.
Do not attempt to defer declaration. It would happen to work in most
cases, but the edge case is where the first thing that happens to a
variable is being OpStore'd into.
2020-04-21 11:20:49 +02:00