John Kessenich
a89f8cf76b
Merge branch 'nonuniform-dynindex'
2018-04-05 13:53:31 -06:00
John Kessenich
4597fea82e
Update revision.
2018-04-05 13:50:02 -06:00
John Kessenich
6a8a678c4f
Revision/Version update.
2018-04-05 13:45:52 -06:00
John Kessenich
5611c6d27b
GLSL/SPV: Implement SPV_EXT_descriptor_indexing and GL_EXT_nonuniform_qualifier
2018-04-05 11:25:02 -06:00
John Kessenich
0b5e5da7e7
Update revision.
2018-04-02 15:04:19 -06:00
John Kessenich
6a4a427efe
GLSL: Implement correct semantic checking for run-time sized arrays.
2018-04-02 14:52:15 -06:00
John Kessenich
5a867acad5
Linker: Fix #1329 : correctly merge unsized arrays, and fix link tests.
2018-04-01 21:22:34 -06:00
John Kessenich
ed834895ea
Merge pull request #1327 from mattparks/patch2
...
Added getter for uniform block bindings
2018-03-30 13:36:10 -06:00
Matthew Albrecht
2199356979
Added getter for uniform block bindings
2018-03-30 09:58:01 -05:00
John Kessenich
fbdba369c9
Merge pull request #1325 from KhronosGroup/simplify-doc
...
Non-Functional: Remove unused parts of the disassembler.
2018-03-30 00:53:23 -06:00
John Kessenich
10971553b8
Non-Functional: Remove unused parts of the disassembler.
2018-03-30 00:11:39 -06:00
John Kessenich
d688796adc
Merge pull request #1322 from jeffbolznv/master
...
Implement GL_NV_shader_subgroup_partitioned
2018-03-29 22:50:58 -06:00
Jeff Bolz
2abe9a4d34
Implement GL_NV_shader_subgroup_partitioned
2018-03-29 22:52:17 -05:00
John Kessenich
6b1ede4124
Merge pull request #1320 from greg-lunarg/addopt21
...
Only print legalization warning if optimizer not enabled
2018-03-29 20:21:04 -06:00
GregF
fb03a55e0f
Only print legalization warning if optimizer disabled
2018-03-29 13:17:54 -06:00
John Kessenich
7be36647fc
Merge pull request #1319 from KhronosGroup/array-rationalization
...
Array rationalization
2018-03-28 23:26:27 -06:00
John Kessenich
f9a05f96cc
Merge pull request #1316 from greg-lunarg/addopt18
...
Disable DCE by Remapper through glslangValidator...
2018-03-28 23:26:10 -06:00
John Kessenich
c408b430fc
Merge pull request #1318 from amdrexu/feature
...
Add int16 support to AMD_trinary_minmax and AMD_shader_ballot
2018-03-28 23:24:56 -06:00
John Kessenich
ead8622484
Non-functional. Rationalizations enabling future generalizations:
...
- Use much simpler method to update implicit array sizes.
The previous overly complicated method was error prone.
- Rationalize all use of unsized arrays.
- Combine decorations when generating SPIR-V, to simplify
adding extensions.
2018-03-28 18:01:20 -06:00
John Kessenich
2316924b09
Non-Functional: Remove merge-replicated code and fix white space.
2018-03-28 13:02:12 -06:00
Rex Xu
ae06d1fe94
Add int16 support to AMD_trinary_minmax and AMD_shader_ballot
2018-03-28 16:33:01 +08:00
GregF
4bede9eb00
Disable DCE by Remapper through glslangValidator...
...
...now that spirv-opt is capable enough.
2018-03-27 10:15:51 -06:00
John Kessenich
643e57cddf
Merge pull request #1313 from greg-lunarg/kg15
...
Update SPIRV-Tools known good.
2018-03-27 00:46:18 -06:00
John Kessenich
26ad99b570
Merge pull request #1312 from KhronosGroup/fix-mixed-array-styles
...
Fix mixed array styles
2018-03-26 12:35:25 -06:00
greg-lunarg
0b46c1edbf
Merge branch 'master' into kg15
2018-03-26 12:20:43 -06:00
GregF
eecb874c35
Update SPIRV-Tools known good.
...
Also update spirv-opt recipes.
2018-03-26 12:11:55 -06:00
John Kessenich
859b0342b8
Types: Fix #1290 : Rationalize and correct "mixed" style array dimensioning.
...
There a couple functional problems, which when reduced down also led to
some good simplifications and rationalization. So, this commit:
- corrects "mixed" functionality: int[A] f[B] -> f[B][A]
- correct multi-identifier decls: int[A] f[B], g[C] -> f and g are independently sized.
- increases symmetry between different places in the code that do this
- makes fewer ways to do the same thing; several methods are just gone now
- makes more clear when something is copied or shared
2018-03-26 00:38:53 -06:00
John Kessenich
1c3ab274b1
Test Results Only: Include size in implicitly sized arrays (change to unsized).
...
This effects 60 tests, in a trivial way, but is critical to factor out this
noise from future planned changes.
2018-03-25 14:05:38 -06:00
John Kessenich
7cec64fc42
Non functional: add EshTargetClientVersion alias for EShTargetClientVersion.
...
Fixes #1304 .
2018-03-22 23:54:04 -06:00
John Kessenich
97e35420a6
Non-functional: always return value from makeFpConstant().
...
Should fix #1308 .
2018-03-22 23:44:11 -06:00
John Kessenich
569dd84a72
Merge pull request #1306 from Igalia/uniform-aml-v2
...
Improve --auto-map-locations for uniforms (v2)
2018-03-21 11:19:12 -06:00
John Kessenich
1b1ad97d0e
Merge pull request #1305 from amdrexu/bugfix
...
Add additional error check for fragment shader outputs
2018-03-21 10:35:59 -06:00
Neil Roberts
2d53904999
Take into account the number of locations taken up by a uniform
...
When assigning uniform locations it now takes into account the number
of locations occupied by the type. For uniforms, all types except
arrays and structs take up one location. For arrays the base location
count is multiplied by the array dimensions and for structs it is the
sum of the locations of each member.
2018-03-21 12:03:39 +01:00
Neil Roberts
1fe4a44759
Add locations to opaque types for OpenGL
2018-03-21 12:03:39 +01:00
Rex Xu
b126550b1a
Add additional error check for fragment shader outputs
...
Int64 and uint64 are disallowed as fragment shader outputs, similar to
double.
2018-03-21 15:27:38 +08:00
John Kessenich
95b1334aa2
Bump patch version.
2018-03-19 01:11:04 -06:00
John Kessenich
ca4366cf51
Merge pull request #1302 from KhronosGroup/cpp-relax-skiptokens-errors
...
PP: don't give errors on some tokens under #if 0 (or similar).
2018-03-19 01:09:51 -06:00
John Kessenich
e7e081bda9
PP: don't give errors on some tokens under #if 0 (or similar).
...
Fixes #1295 .
Tokens that are accepted by any version of HLSL or GLSL should be
allowed when #ifdef'd off, such that errors are not reported.
2018-03-19 00:43:18 -06:00
John Kessenich
56e8056582
Merge pull request #1282 from KhronosGroup/hlslFunctionality1
...
WIP: Implement SPV_GOOGLE_hlsl_functionality1.
2018-03-16 20:41:52 -06:00
John Kessenich
5d610ee1dc
Implement SPV_GOOGLE_hlsl_functionality1.
...
Enabled via -fhlsl_functionality1
2018-03-16 20:21:44 -06:00
John Kessenich
cd23a47566
Merge pull request #1291 from ben-clayton/add-nv-nopersp
...
Add support for GL_NV_shader_noperspective_interpolation
2018-03-16 15:50:38 -06:00
John Kessenich
0af69da12e
Bump patch version.
2018-03-16 11:52:10 -06:00
John Kessenich
fb1e40b4de
Merge pull request #1299 from KhronosGroup/fix-conversions
...
Fix conversions
2018-03-16 11:30:09 -06:00
Ben Clayton
f648083365
Add tests for GL_NV_shader_noperspective_interpolation
2018-03-16 16:49:29 +00:00
John Kessenich
cb32c54466
Merge pull request #1289 from Igalia/igalia/dmat-scalar-division
...
Use the correct type for the constant for matrix/scalar division
2018-03-15 23:49:59 -06:00
John Kessenich
647fccaf2f
AST: Fix shift conversions, which don't require matching types.
...
The base and shift amount need to be integers, but not of the same type.
This fixes #1296 and replaces #1297 .
2018-03-15 21:11:36 -06:00
John Kessenich
6e899be5ec
Non-functional: Rationalize operators handled by the split addConversion() functions.
...
Historically, addConversion() was split to handle binary node <-> node conversions
from non-binary node -> type conversions. However, the split wasn't entirely clean
WRT HLSL design and left duplication of case statements, which are misleading, and
this commit cleans up.
2018-03-15 19:58:49 -06:00
John Kessenich
137a24dffa
AST: Remove convertToBasicType() which was obfuscating the conversion design.
...
Reinforces that conversion rules are operation-specific.
Side effect is that HLSL logical-operator conversions are more direct
(e.g. float -> bool, rather than float -> int -> bool).
2018-03-15 19:32:27 -06:00
John Kessenich
075c8c11e2
Merge pull request #1294 from dgkoch/dgkoch_build_fixes4
...
Fix build several build errors
2018-03-14 01:05:56 -06:00
Daniel Koch
bfe0952118
Fix build several build errors
...
glslang/SPIRV/SpvBuilder.cpp:2533:27: error: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Werror,-Wsign-compare]
for (int c = 0; c < accessChain.swizzle.size(); ++c)
~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
glslang/hlsl/hlslParseHelper.cpp:69:5: error: field 'cullDistanceInput' will be initialized after field 'clipDistanceOutput' [-Werror,-Wreorder]
cullDistanceInput(nullptr),
^
1 error generated.
glslang/glslang/MachineIndependent/attribute.cpp:85:16: error: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Werror,-Wsign-compare]
if (argNum >= args->getSequence().size())
~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
2018-03-13 17:06:51 -04:00