Commit Graph

2491 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
c7b75a8fe6 MSL: Do not use base expression with PhysicalTypeID OpCompositeExtract.
Similar reasoning as packed expressions.
2020-04-07 18:25:44 +02:00
Hans-Kristian Arntzen
6637610b16
Merge pull request #1309 from KhronosGroup/fix-1305
Expose query if a resource was used as a comparison/depth resource
2020-04-03 17:47:22 +02:00
Hans-Kristian Arntzen
941cceedb4 Expose a query if samplers or images are comparison resources. 2020-04-03 17:43:42 +02:00
Hans-Kristian Arntzen
b691b7d1e3 Do not add NonWritable/NonReadable decorations for regular images. 2020-04-03 17:43:42 +02:00
Hans-Kristian Arntzen
14f24d71ab
Merge pull request #1308 from KhronosGroup/fix-1306
HLSL: Add support for treating NonWritable UAV texture as SRV instead.
2020-04-03 17:42:56 +02:00
Hans-Kristian Arntzen
cfcd84319b
Merge pull request #1310 from KhronosGroup/msl-force-declare-implicit-builtins
MSL: Deal with cases where builtin is implicitly needed, declared, but unused
2020-04-03 17:41:09 +02:00
Hans-Kristian Arntzen
d9d3359ffb MSL: Deal with cases where builtin is implicitly needed, declared, but unused.
We need to make sure any builtins which are declared and unused are
emitted as active variables.
2020-04-03 12:50:21 +02:00
Hans-Kristian Arntzen
01cee74b02
Merge pull request #1307 from troughton/patch-1
MSL: mark BuiltInFragCoord as implicitly used for subpass reads
2020-04-03 12:39:30 +02:00
Hans-Kristian Arntzen
28bf9057df HLSL: Add support for treating NonWritable UAV texture as SRV instead. 2020-04-03 11:50:50 +02:00
Thomas Roughton
4cf736d753
MSL: mark BuiltInFragCoord as implicitly used for subpass reads
Without this patch, `gl_FragCoord` is not output for subpass reads in certain cases where `gl_FragCoord` is not used elsewhere in the shader.

I'm not sure why this isn't caught by existing tests (e.g. [input-attachment.frag](shaders-msl/frag/input-attachment.frag)), but I encountered this issue in code generated by DXC and passed through spire-opt.
2020-04-03 14:32:31 +13:00
Hans-Kristian Arntzen
e58e8d5dbe
Merge pull request #1303 from KhronosGroup/fix-1302
MSL: Fix access chain for deep struct hierarchy on array of buffers.
2020-03-31 17:25:53 +02:00
Hans-Kristian Arntzen
3cb6aeb480 MSL: Fix access chain for deep struct hierarchy on array of buffers. 2020-03-31 14:17:29 +02:00
Hans-Kristian Arntzen
84ec99c531
Merge pull request #1301 from dj2/roll_deps
Roll GLSLang, SPIRV-Tools and SPIRV-Headers
2020-03-30 21:58:28 +02:00
dan sinclair
32307df73a Roll GLSLang, SPIRV-Tools and SPIRV-Headers
This CL rolls the various dependencies and updates tests as needed.
2020-03-30 11:03:43 -04:00
Hans-Kristian Arntzen
9b3c5e12be
Merge pull request #1299 from KhronosGroup/fix-1298
Add support for forcefully zero-initialized variables.
2020-03-26 17:58:27 +01:00
Hans-Kristian Arntzen
b8905bbd95 Add support for forcefully zero-initialized variables.
Useful to better support certain platforms which require all variables
to be initialized to something.
2020-03-26 13:38:27 +01:00
Hans-Kristian Arntzen
871c85d7f0
Merge pull request #1297 from KhronosGroup/fix-1295
GLSL: Implement GL_EXT_shader_framebuffer_fetch.
2020-03-19 16:19:19 +01:00
Hans-Kristian Arntzen
04e877df12 GLSL: Implement GL_EXT_shader_framebuffer_fetch. 2020-03-19 14:53:39 +01:00
Hans-Kristian Arntzen
c2655ab291 Run format_all.sh. 2020-03-19 14:22:49 +01:00
Hans-Kristian Arntzen
c3d216c011
Merge pull request #1296 from KhronosGroup/fix-1292
Fix nonuniform qualifier with atomics
2020-03-19 13:29:19 +01:00
Hans-Kristian Arntzen
05004a57ea GLSL/HLSL: Fix nonuniform qualifier for SSBO atomics. 2020-03-19 12:05:27 +01:00
Hans-Kristian Arntzen
a3d3c80dd7 GLSL/HLSL: Implement nonuniform qualifier for image atomics. 2020-03-19 11:35:29 +01:00
Hans-Kristian Arntzen
65aa0c35d6 include/spirv_cross: Fix typo. 2020-03-10 10:52:27 +01:00
Hans-Kristian Arntzen
7d42fd7f7b
Merge pull request #1290 from KhronosGroup/fix-1289
HLSL: Do not emit globallycoherent for SRV ByteAddressBuffer.
2020-03-05 12:23:40 +01:00
Hans-Kristian Arntzen
185551bfaf HLSL: Do not emit globallycoherent for SRV ByteAddressBuffer. 2020-03-05 10:37:36 +01:00
Hans-Kristian Arntzen
d19f30a90e
Merge pull request #1287 from KhronosGroup/read-write-decoration-tweaks
Improve handling of readonly/writeonly flags in some cases
2020-03-04 17:43:14 +01:00
Hans-Kristian Arntzen
95cd20f1c7 Add test for disable-storage-image-qualifier-deduction. 2020-03-04 16:42:31 +01:00
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