2602 Commits

Author SHA1 Message Date
John Kessenich
45422f1851 Merge branch 'amdrexu-bugfix' 2018-03-07 14:26:08 -07:00
John Kessenich
f15fbc04f7 Merge branch 'bugfix' of https://github.com/amdrexu/glslang into amdrexu-bugfix 2018-03-07 14:25:46 -07:00
John Kessenich
56364b0850 Merge branch 'sheredom-fixup_sm_60_wording' 2018-03-07 14:21:55 -07:00
John Kessenich
e62d1baf3a Merge branch 'fixup_sm_60_wording' of https://github.com/sheredom/glslang into sheredom-fixup_sm_60_wording 2018-03-07 14:20:11 -07:00
John Kessenich
ac3707921e Revert the commits that change OpArrayLength type and bumped the version number.
Now, version 5.* is all connected to making the uint type, which doesn't quite work.
Generator versions 4 and 6 do not do this.
6.2.2596
2018-03-07 11:48:25 -07:00
Neil Henning
fd920b3b6a WaveReadLaneFirst is the correct wording (was using WaveReadFirstLane previously...). 2018-03-07 17:04:20 +00:00
John Kessenich
097047a919
Merge pull request #1277 from KhronosGroup/Vulkan_1_1
SPV: Implement Vulkan 1.1 features and extensions.
2018-03-07 09:26:43 -07:00
Rex Xu
e68a7698e6 Add more error checks for swizzleInvocations{Masked}AMD() 2018-03-07 17:22:41 +08:00
John Kessenich
66011cb2c2 SPV: Implement Vulkan 1.1 features and extensions. 2018-03-06 16:12:04 -07:00
John Kessenich
b2ae1d0521 Revert "Merge pull request #1274 from greg-lunarg/legal2"
This reverts commit 2c65069ecdbc41dc16580ff58d9d99a2e80ac9ce, reversing
changes made to fa9b465b92b7e043623ef24d9002aacb32fab0d8.
5.1
2018-03-06 14:50:41 -07:00
John Kessenich
663b90d908 Build: Fix build issues with previous commit. 2018-03-06 14:20:16 -07:00
John Kessenich
2c65069ecd
Merge pull request #1274 from greg-lunarg/legal2
Legalization: Omit legalization warning when spirv-opt is linked.
2018-03-06 13:17:04 -07:00
John Kessenich
fa9b465b92 Versioning: Bump to minor version 1, for new SPIRV-Tools update. 2018-03-06 13:08:19 -07:00
GregF
fd50f6a4c3 Legalization: Omit legalization warning when spirv-opt is linked. 2018-03-06 13:00:08 -07:00
John Kessenich
caa54449b4
Merge pull request #1263 from greg-lunarg/kg12
Update spirv-tools known_good
2018-03-06 11:12:04 -07:00
John Kessenich
02538357c8
Merge pull request #1272 from amdrexu/bugfix
Add more error checks for interpolateAtVertexAMD()
5.0
2018-03-06 01:02:13 -07:00
Rex Xu
4f5b99e37e Add more error checks for interpolateAtVertexAMD() 2018-03-06 15:01:40 +08:00
John Kessenich
c6c80a6e48 Versioning: Address #1255: Move to semantic versioning.
Still missing is automation and final decisions on mechanisms in general.
2018-03-05 22:23:17 -07:00
John Kessenich
41e24fdb83 Merge branch 'amdrexu-bugfix' 2018-03-03 11:53:41 -07:00
John Kessenich
aa2295f1aa Merge branch 'bugfix' of https://github.com/amdrexu/glslang into amdrexu-bugfix 2018-03-03 11:52:58 -07:00
John Kessenich
0216f24f0e SPV: Bump up the generator number. 2018-03-03 11:47:07 -07:00
Rex Xu
e518772dc9 SPV: The result type of OpArrayLength should be UINT 2018-03-03 22:06:27 +08:00
John Kessenich
b5b5f918c6 Non-functional: Make the vulkan version number meaning be only 0 or not 0. 2018-03-02 18:17:42 -07:00
John Kessenich
e58d58b782 Non-functional: Move to latest headers. 2018-03-02 12:36:02 -07:00
John Kessenich
29c49e1089
Merge pull request #1266 from amdrexu/feature
Implement the extension GL_AMD_gpu_shader_half_float_fetch
2018-03-02 11:23:15 -07:00
John Kessenich
2c40e85616
Merge pull request #1268 from amdrexu/bugfix2
Fix issues of SPIRV headers
2018-03-02 09:41:22 -07:00
Rex Xu
81f4c03a76 Fix issues of SPIRV headers 2018-03-02 17:42:37 +08:00
Rex Xu
1e5d7b0b27 Implement the extension GL_AMD_gpu_shader_half_float_fetch
- Support new opaque types: f16sampler*, f16image*, f16subpassInput*.
- Add new built-in GLSL texture/image functions.
2018-03-02 16:48:03 +08:00
John Kessenich
5630d0ec79 Fix typo. 2018-03-02 01:09:28 -07:00
John Kessenich
60a57840ee
Merge pull request #1264 from dneto0/typo-client-version
Fix typo in help for -V<bad-number>
2018-02-28 16:12:37 -07:00
John Kessenich
52e9435ec5
Merge pull request #1265 from davidhubbard/master
EShLangFragment falls through to EShLangCompute, only #ifndef AMD_EXTENSIONS.
2018-02-28 16:11:43 -07:00
davidhubbard
f5ddcfc528 TBuiltIns::identifyBuiltIns: EShLangFragment fallthrough
EShLangFragment falls through to EShLangCompute, only #ifndef AMD_EXTENSIONS.
This is probably a bug.
2018-02-28 11:29:04 -06:00
David Neto
506d2c241d Fix typo in help for -V<bad-number> 2018-02-27 21:55:23 -05:00
John Kessenich
c5215791f5 IO mapper: Fix #1261: Supply location mapper with size computer.
This factored computeTypeLocationSize() out of needing the TIntermediate contents,
and uses it to show how to know how many locations an object needs.
However, it still does not do cross stage, or mixed location/no-location
analysis.
2018-02-27 13:31:48 -07:00
GregF
5778ee4ab3 Update spirv-tools known_good
Contains the following improvements:

Fixes 1341: Atomics (and other instructions with side-effects) removed.
Add folding for redundant add/sub/mul/div/mix operations
Add constant folding rules for floating-point comparison
Add folding of redundant OpSelect insns
Add folding of OpCompositeExtract and OpConstantComposite
2018-02-27 11:26:21 -07:00
John Kessenich
d55fe86512 HLSL: Fix #1257: layout float1, int1, etc., as scalars. 2018-02-27 00:48:17 -07:00
John Kessenich
46413d5780 SPV: Fix #1258: cache constant structs by id, not opcode.
Constants were generally cached by type opcode, but all structures share the
same type opcode (OpTypeStruct), so they need to be cached by type id.
2018-02-26 19:35:39 -07:00
John Kessenich
57f6a016f0 SPV: Complete OpModuleProcessed implementation, enabled by have 1.2 headers. 2018-02-22 19:36:18 -07:00
John Kessenich
e1cc1e2eed
Merge pull request #1256 from KhronosGroup/require-binding
GLSL/SPV: Fix #1196: Require resources to have layout(binding=X).
2018-02-22 12:58:29 -07:00
John Kessenich
9c9c4e90df GLSL/SPV: Fix #1196: Require resources to have layout(binding=X). 2018-02-22 11:47:41 -07:00
John Kessenich
2d9973de0e Tests: specExamples.vert is used twice, it needs two different output names. 2018-02-21 18:42:10 -07:00
John Kessenich
90ac5fcfe3
Merge pull request #1253 from KhronosGroup/hlsl-ternary-select
HLSL: Fix #1249: Always execute both sides of ternary "?:".
2018-02-21 09:09:01 -07:00
John Kessenich
4bee531fc1 HLSL: Fix #1249: Always execute both sides of ternary "?:".
This is semantically required by HLSL, and frequently results in using
OpSelect instead of control flow.
2018-02-20 21:32:33 -07:00
John Kessenich
a5cae08259
Merge pull request #1250 from LoopDawg/image-fetch-conversion
HLSL: Add conversions for image ops during SPV construction
2018-02-19 18:28:24 -07:00
LoopDawg
4425f245a5 HLSL: Add conversions for image ops during SPV construction
HLSL allows image and texture types to be templatized on sub-vec4 types,
or even structures.  This was mostly handled already during creation of
sampling operations.  However, for operator[] which can generate image
loads, this wasn't happening.

It also isn't very easy to do at that point in time, because operator[]
does not know where the results it produces will end up.  They may be
an lvalue or an rvalue, and there's a post-process to convert loads to
stores.  They may end up in atomic ops.

To bypass that difficulty, GlslangToSpv now looks for this case and
adds the appropriate conversion.  LIMITATION: this only works for
cases for which a simple conversion opcode suffices.  That is to say,
it will not work if the type is templatized on a struct.
2018-02-18 13:13:36 -07:00
John Kessenich
b587fb6208 GLSL: Fix #1247. Remove extraneous *= matrix test. 2018-02-15 12:22:25 -07:00
John Kessenich
98e3fb1926
Merge pull request #1246 from amdrexu/bugfix
Fix an issue of interpolateAtVertexAMD().
2018-02-15 11:18:22 -07:00
Rex Xu
35a3de748a Fix an issue of interpolateAtVertexAMD().
An error message should be reported if the interpolant is not an input.
2018-02-14 11:42:34 +08:00
John Kessenich
23ea3db3e5 Warning for #pragma once. GLSL and HLSL. Addresses #824. 2018-02-11 23:23:22 -07:00
John Kessenich
b5bf536b5f
Merge pull request #1244 from dneto0/update-spirv-tools
Update SPIRV-Tools known-good
2018-02-09 18:17:49 -07:00