Daniel Koch
9bb17cd0eb
Return consistent names from CapabilityString
...
Don't prefix with "Capability" since the majority of them don't.
Also add missing CapabilityImageFootprintNV
2019-05-28 15:23:10 -04:00
Matthew Albrecht
cda52d5333
Fixed .dll install on MSVC.
2019-05-23 19:06:44 -05:00
John Kessenich
6e384fef6c
Build: Fix 3 warnings.
2019-05-10 06:47:00 -06:00
John Kessenich
b64952eddd
SPV 1.4: Move to 1.4 validation, removing all 1.4 validation failures.
2019-05-10 00:02:45 -06:00
John Kessenich
f43c739ac5
SPV 1.4: Emit SignExtend and ZeroExtend for integer image reads/writes.
2019-05-10 00:02:45 -06:00
John Kessenich
61a5ce190a
SPV 1.4: Lookup tables: Use variable initializer and NonWritable...
...
...when doing a variable lookup on an array of constants.
2019-05-10 00:02:45 -06:00
John Kessenich
fbb6bdf046
SPV 1.4: Add support for OpCopyLogical, careful of Boolean differences.
2019-05-10 00:02:45 -06:00
John Kessenich
1f4d04687b
SPV 1.4: Implement the 5 new loop controls.
2019-05-10 00:02:45 -06:00
John Kessenich
0c1e71a123
SPV 1.4: Use OpSelect for trivial typed non-scalar/vector expressions.
2019-05-10 00:02:45 -06:00
John Kessenich
7c7731ecbb
SPV 1.4: Generate all globals on OpEntryPoint interface list.
2019-05-10 00:02:45 -06:00
John Kessenich
2dd4ab3a4a
SPV: Move to the SPIR-V 1.4 header.
2019-05-09 23:59:37 -06:00
Jeff Bolz
88220d507e
For nonuniformEXT constructor, make a copy of the node to decorate
2019-05-08 10:24:46 -05:00
Jeff Bolz
faac86e5d6
If a shader's only use of float16 is for FConvert, add the Float16 capability.
...
When visiting instructions, check that there are no 16-bit storage capabilities
and add the Float16 capability. Same for int8/int16.
2019-05-01 11:45:51 -05:00
John Kessenich
3416d48b59
Update to latest SPIR-V header and bump revision.
2019-04-04 09:38:26 -06:00
Daniel Koch
8b2f96d3fe
Check if _MSC_VER is defined before using.
...
Fixes compilation errors on some platforms.
2019-04-03 17:21:06 -04:00
John Kessenich
bd0f5ad278
Merge pull request #1733 from null77/fix-msvc-warn
...
Suppress MSVC warning about unused variable.
2019-03-18 23:41:27 +07:00
Jamie Madill
099a80dd76
Suppress MSVC warning about unused variable.
...
One variable was only used in an 'assert' call. MSVC flagged this
as unused in Release. Suppress the warning and also add a static
cast to void so the variable becomes referenced.
2019-03-18 11:38:53 -04:00
Panagiotis Christopoulos Charitos
35aeb042a2
Avoid running the validator as part of the optimization pass.
...
The spvtools::Optimizer::Run method glslang is using constructs a default set
of spvtools::OptimizerOptions. This default set of options instructs the
validator to run. That is not quite correct since glslang will invoke the
validator _explicitly_ after the optimization pass.
Change-Id: I30f458304c6e7f81e89fc4ebd25eabbbd8348063
2019-03-18 11:34:17 +01:00
John Kessenich
b184e41a06
Build: Update to the most recent SPIR-V headers, for Rev. 7 of SPV 1.3
2019-03-17 22:29:25 -06:00
John Kessenich
40c16ec0b3
Merge pull request #1717 from jeffbolznv/getBufferReferenceAlignment
...
Move getBufferReferenceAlignment to be a method of TType
2019-03-07 11:05:08 +07:00
Jeff Bolz
7895e473c3
Move getBufferReferenceAlignment to be a method of TType
...
This is a better place for it logically, since it is not specific to
glsl->spirv translation. And in a future change I want to use it outside
of glslangtospv.
2019-03-06 13:40:33 -06:00
Jeff Bolz
3fd1232665
Improved fix for buffer reference constants
...
This is an alternate fix for the issue described in commit be63facd, whose
solution didn't work if there were non-trivial operations involved in computing
a constant initializer which caused the 'constant unfolding' code to kick in
(addConstantReferenceConversion). Instead, this change does the 'unfolding'
later in createSpvConstantFromConstUnionArray. If a reference-type constant has
survived that long, then folding is already done, this must be a 'real' (inside
a function) use of the constant, and it should be safe to unfold and apply the
bitcast.
2019-03-06 09:28:29 -06:00
John Kessenich
79d25ea0ce
Merge pull request #1714 from jeffbolznv/volatil
...
Fix interactions between 'volatile' and the Vulkan memory model
2019-03-06 20:43:07 +07:00
John Kessenich
cc4a756d48
Build: Update to latest SPIR-V header.
2019-03-06 11:21:38 +07:00
Jeff Bolz
38cbad15ca
Fix interactions between 'volatile' and the Vulkan memory model
...
Last year we changed 'volatile' to also act as 'coherent', but when I
resolved the memory model changes against that change I missed handling
volatile in a couple places that we check for coherent. There was also
a place in post-processing that acted as if the volatile memory access
flag has a literal number associated with it, when it doesn't.
2019-03-05 14:40:07 -06:00
Jeff Bolz
1994fe4523
Fix NV_EXTENSIONS-disabled build
2019-02-28 11:59:35 -06:00
Jeff Bolz
4605e2ed2b
Implement GL_NV_cooperative_matrix
2019-02-25 23:42:59 -06:00
Nico Weber
76577b1aec
Fix -Wextra-semi warnings in headers used in Chromium
2019-02-21 11:05:21 -05:00
Jeff Bolz
2b2316d3fa
Add Float16/Int8/Int16 capabilities for private variables and function parameters
2019-02-17 22:50:00 -06:00
baldurk
332b173c82
Fix mismatched integer comparison (size_t/unsigned int vs int)
2019-01-30 17:29:44 +00:00
John Kessenich
d72f488cc6
Build: fix warnings. Fixes #1653 .
2019-01-16 14:55:37 +07:00
John Kessenich
69932ab47f
Merge pull request #1645 from KhronosGroup/dupe-accelstruct
...
Don't output duplicate OpTypeAccelerationStructureNV declarations
2019-01-08 09:39:32 +07:00
Piers Daniell
3cf3f96292
Don't output duplicate TypeAccelerationStructureNV declarations
2019-01-07 14:17:44 -07:00
Jeff Bolz
9f2aec49e9
GL_EXT_buffer_reference
2019-01-07 12:36:13 -06:00
John Kessenich
d12fbc4c0c
SPV: Move to the latest header.
2019-01-07 23:52:34 +07:00
Greg Fischer
d445bb2867
Create separate OpSource for each included file
2018-12-28 12:06:43 -07:00
John Kessenich
9ed38739b9
Merge pull request #1627 from greg-lunarg/lines8
...
Add passes to spirv-opt passes to preserve source line info when compiling -g.
2018-12-18 10:38:32 -07:00
Greg Fischer
5620a2f95e
Add passes to legalization to preserve source line info when generated.
2018-12-16 13:13:46 -07:00
Jeff Bolz
61a0cd19cc
Fix bug where shaderRecordNV buffers were using StorageBuffer storage class
2018-12-14 20:59:53 -06:00
John Kessenich
b23d232ec5
Licensing. Fixes #958 . Add licenes file and update copyrights.
2018-12-14 10:47:35 -07:00
John Kessenich
236eb0d325
GLSL/SPV: XFB: No streams on types, but support them on built-in blocks.
...
From internal Khronos discussions, work, and testing.
2018-12-13 12:06:12 -07:00
Jeff Bolz
0a93cfbb79
Update to newest SPIRV-Tools. It checks the Vulkan rule that all resources must have a set and binding decoration, which many tests fail. So add code to set a default value of zero. Also disable PCH for Ninja builds.
2018-12-11 20:58:29 -06:00
Rémi Verschelde
ebfd91a719
Remove Unix executable permission from text files
2018-12-10 10:49:16 +01:00
greg-lunarg
5d43c4aac7
SPV: Fix #1575 , fix #1593 : Support HLSL #line
...
SPIR-V OpLines now contain filenames from HLSL-style #lines.
2018-12-07 17:36:33 -07:00
John Kessenich
667506a5ea
Merge pull request #1602 from Igalia/apinheiro/prevent-xfbstride-twice
...
GlslangToSpv: prevent add XfbStride twice
2018-11-29 10:43:25 -07:00
Alejandro Piñeiro
16ef9da372
GlslangToSpv: prevent add XfbStride twice
...
Without this commit, if the XfbStride was explicitly set, the
decoration was added twice on the shader.
v2 (changes after Jonh Kessenich first review)
* Simplified by just removing the firs assignment
* Removed assert
2018-11-29 11:49:04 +01:00
John Kessenich
8c869679f2
SPV: For GLSL only, bitcast OpArrayLength result back to int.
...
This makes the rest of the AST consuming the result match GLSL
semantics and hence get complete type matching.
2018-11-28 07:01:37 -07:00
John Kessenich
e045c23a34
SPV: Generate OpArrayLength with no signedness.
2018-11-27 09:19:10 -07:00
John Kessenich
d7baecfab7
Merge pull request #1595 from dgkoch/EXT_fragment_invocation_density
...
Implement GL_EXT_fragment_invocation_density
2018-11-27 06:41:36 -07:00
Alan Baker
440f95b1e7
Update known good SPIRV tools and headers
...
* Fixes use of optimizer
* Updated test outputs
* GeometryStreams and TransformFeedback no longer fail validation
2018-11-26 11:24:22 -05:00