platform/upstream/glslang.git
6 years agoMerge branch 'glsl-ext' of https://github.com/nicebyte/glslang into nicebyte-glsl-ext
John Kessenich [Tue, 17 Apr 2018 23:23:31 +0000 (17:23 -0600)]
Merge branch 'glsl-ext' of https://github.com/nicebyte/glslang into nicebyte-glsl-ext

6 years agoBump revision.
John Kessenich [Mon, 16 Apr 2018 22:02:21 +0000 (16:02 -0600)]
Bump revision.

6 years agoMerge pull request #1345 from amdrexu/bugfix
John Kessenich [Sun, 15 Apr 2018 04:01:55 +0000 (22:01 -0600)]
Merge pull request #1345 from amdrexu/bugfix

Add AMD float16/int16 SPV extension string when GLSL specifies them

6 years agoSpecify SPV_AMD_gpu_shader_int16 extension string when frexp() takes 16-bit
Rex Xu [Wed, 11 Apr 2018 08:56:50 +0000 (16:56 +0800)]
Specify SPV_AMD_gpu_shader_int16 extension string when frexp() takes 16-bit
exp operand

6 years agoBump revision.
John Kessenich [Sat, 14 Apr 2018 03:01:01 +0000 (21:01 -0600)]
Bump revision.

6 years agoHLSL/SPV: Declare DepthReplacing for shaders declaring SV_Depth* outputs.
John Kessenich [Sat, 14 Apr 2018 00:36:58 +0000 (18:36 -0600)]
HLSL/SPV: Declare DepthReplacing for shaders declaring SV_Depth* outputs.

6 years agoMerge pull request #1348 from greg-lunarg/kg16
John Kessenich [Fri, 13 Apr 2018 16:38:20 +0000 (10:38 -0600)]
Merge pull request #1348 from greg-lunarg/kg16

Update spirv-opt known good

6 years agoMerge pull request #1351 from danginsburg/issue_1350
John Kessenich [Fri, 13 Apr 2018 15:36:22 +0000 (09:36 -0600)]
Merge pull request #1351 from danginsburg/issue_1350

Fix issue #1350 - set the node type to match the atomic TIntermAggreg…

6 years agoUpdate gold results
danginsburg [Fri, 13 Apr 2018 13:51:22 +0000 (09:51 -0400)]
Update gold results

6 years agoMake FindLanguage use the entire name if parseStageName is false
Grigory Dzhavadyan [Fri, 13 Apr 2018 03:31:27 +0000 (20:31 -0700)]
Make FindLanguage use the entire name if parseStageName is false

6 years agoFix build error
Grigory Dzhavadyan [Fri, 13 Apr 2018 02:29:26 +0000 (19:29 -0700)]
Fix build error

6 years agoMake glslang validator support files ending in .glsl
Grigory Dzhavadyan [Thu, 12 Apr 2018 21:35:24 +0000 (14:35 -0700)]
Make glslang validator support files ending in .glsl

This patch makes  the validator accept *.<stage name>.[g/h]lsl pattern
for file names.

This patch preserves previous behavior (i.e. *.vert/*.frag/etc. in file
names still work).

6 years agoFix issue #1350 - set the node type to match the atomic TIntermAggregate node type...
danginsburg [Thu, 12 Apr 2018 20:46:04 +0000 (16:46 -0400)]
Fix issue #1350 - set the node type to match the atomic TIntermAggregate node type so that AtomicSMin/Max is not generated with a result type of void.

6 years agoGLSL/Vulkan: Enforce no location aliasing in vertex inputs.
John Kessenich [Thu, 12 Apr 2018 17:37:57 +0000 (11:37 -0600)]
GLSL/Vulkan: Enforce no location aliasing in vertex inputs.

6 years agoUpdate spirv-opt known good
GregF [Thu, 12 Apr 2018 16:39:15 +0000 (10:39 -0600)]
Update spirv-opt known good

Changes include:
    Fix SSA rewrite for nested loops.
    Add support for two new extensions:
    - SPV_NV_shader_subgroup_partitioned
    - SPV_EXT_descriptor_indexing
    Legalize OpImageTexelPointer
    Copy propagate arrays

6 years agoBuild: Fix #1347: Compile with NV_EXTENSIONS disabled.
John Kessenich [Thu, 12 Apr 2018 07:02:46 +0000 (01:02 -0600)]
Build: Fix #1347: Compile with NV_EXTENSIONS disabled.

6 years agoMerge pull request #1326 from mattparks/patch1
John Kessenich [Thu, 12 Apr 2018 00:14:46 +0000 (18:14 -0600)]
Merge pull request #1326 from mattparks/patch1

Allowed for LIB_TYPE to be set to switch between static and shared libs for glslang, SPIRV, and HLSL

6 years agoNon-functional: Fix tabs.
John Kessenich [Wed, 11 Apr 2018 06:03:47 +0000 (00:03 -0600)]
Non-functional: Fix tabs.

6 years agoGLSL: Fix #1330: default outputs for GL_NV_geometry_shader_passthrough
John Kessenich [Wed, 11 Apr 2018 04:01:19 +0000 (22:01 -0600)]
GLSL: Fix #1330: default outputs for GL_NV_geometry_shader_passthrough

6 years agoBump revision.
John Kessenich [Tue, 10 Apr 2018 20:20:01 +0000 (14:20 -0600)]
Bump revision.

6 years agoMerge pull request #1343 from KhronosGroup/uint-counter-bufs
John Kessenich [Tue, 10 Apr 2018 20:17:09 +0000 (14:17 -0600)]
Merge pull request #1343 from KhronosGroup/uint-counter-bufs

HLSL: Fix #1332: consistently use uint for counter buf typing.

6 years agoMerge pull request #1341 from St0fF-NPL-ToM/master
John Kessenich [Tue, 10 Apr 2018 20:16:39 +0000 (14:16 -0600)]
Merge pull request #1341 from St0fF-NPL-ToM/master

fix VS2012 compile issues

6 years agoHLSL: Fix #1332: consistently use uint for counter buf typing.
John Kessenich [Tue, 10 Apr 2018 17:57:20 +0000 (11:57 -0600)]
HLSL: Fix #1332: consistently use uint for counter buf typing.

6 years agoRevert "add ability to record accessed and declared "named defines""
St0fF [Tue, 10 Apr 2018 12:44:23 +0000 (14:44 +0200)]
Revert "add ability to record accessed and declared "named defines""

This reverts commit e7350423067442f616431c1cdf4f18dd7990a491.

6 years agoMerge pull request #1338 from cgmb/minor-shaderlang-fixups
John Kessenich [Mon, 9 Apr 2018 23:40:23 +0000 (17:40 -0600)]
Merge pull request #1338 from cgmb/minor-shaderlang-fixups

Minor cleanup in ShaderLang.cpp

6 years agoGLSL/SPV: no location on atomic_uint; Fix #1339.
John Kessenich [Mon, 9 Apr 2018 23:21:30 +0000 (17:21 -0600)]
GLSL/SPV: no location on atomic_uint; Fix #1339.

6 years agoMinor cleanup in ShaderLang.cpp
Cory Bloor [Mon, 9 Apr 2018 00:11:51 +0000 (18:11 -0600)]
Minor cleanup in ShaderLang.cpp

Use unique_ptr to simplify memory management in ProcessDeferred.

6 years agofix further MSVC 2012 build issues
St0fF [Mon, 9 Apr 2018 19:08:14 +0000 (21:08 +0200)]
fix further MSVC 2012 build issues

MSVC 2012 does not allow initializer lists - replaced with corrresponding CTor calls.

6 years agoadd ability to record accessed and declared "named defines"
St0fF [Mon, 9 Apr 2018 17:28:45 +0000 (19:28 +0200)]
add ability to record accessed and declared "named defines"

Added the needed 2 sets to TIntermediate, added accessor-functions, inserter functions.  Implemented recording of such named defines inside the preprocessor parser.

6 years agofix VS2012 compile issues
St0fF [Mon, 9 Apr 2018 15:37:01 +0000 (17:37 +0200)]
fix VS2012 compile issues

small fixes needed to compile under Win8.1/VS2012/static_lib

6 years agoGLSL/SPV: Fix #1310: don't create unnecessary integer matrices.
John Kessenich [Sun, 8 Apr 2018 00:49:54 +0000 (18:49 -0600)]
GLSL/SPV: Fix #1310: don't create unnecessary integer matrices.

6 years agoREADME: Expand on the C++11 compiler requirement for MSVS.
John Kessenich [Fri, 6 Apr 2018 16:37:06 +0000 (10:37 -0600)]
README: Expand on the C++11 compiler requirement for MSVS.

6 years agoUpdate revision.
John Kessenich [Fri, 6 Apr 2018 01:57:40 +0000 (19:57 -0600)]
Update revision.

6 years agoFix #1328: ENABLE_HLSL=OFF breaking build.
John Kessenich [Fri, 6 Apr 2018 01:52:38 +0000 (19:52 -0600)]
Fix #1328: ENABLE_HLSL=OFF breaking build.

6 years agoFix #1331: Emit SPV_GOOGLE_hlsl_functionality1 for counters.
John Kessenich [Fri, 6 Apr 2018 01:35:38 +0000 (19:35 -0600)]
Fix #1331: Emit SPV_GOOGLE_hlsl_functionality1 for counters.

It was missing when there were no semantics.

6 years agoFix #1333: Protect against -g for non-generating code.
John Kessenich [Fri, 6 Apr 2018 01:00:01 +0000 (19:00 -0600)]
Fix #1333: Protect against -g for non-generating code.

6 years agoMerge branch 'nonuniform-dynindex'
John Kessenich [Thu, 5 Apr 2018 19:53:31 +0000 (13:53 -0600)]
Merge branch 'nonuniform-dynindex'

6 years agoUpdate revision.
John Kessenich [Mon, 2 Apr 2018 21:04:19 +0000 (15:04 -0600)]
Update revision.

6 years agoRevision/Version update.
John Kessenich [Thu, 5 Apr 2018 19:44:16 +0000 (13:44 -0600)]
Revision/Version update.

6 years agoGLSL/SPV: Implement SPV_EXT_descriptor_indexing and GL_EXT_nonuniform_qualifier
John Kessenich [Thu, 5 Apr 2018 17:25:02 +0000 (11:25 -0600)]
GLSL/SPV: Implement SPV_EXT_descriptor_indexing and GL_EXT_nonuniform_qualifier

6 years agoUpdate revision.
John Kessenich [Mon, 2 Apr 2018 21:04:19 +0000 (15:04 -0600)]
Update revision.

6 years agoGLSL: Implement correct semantic checking for run-time sized arrays.
John Kessenich [Mon, 2 Apr 2018 20:52:15 +0000 (14:52 -0600)]
GLSL: Implement correct semantic checking for run-time sized arrays.

6 years agoLinker: Fix #1329: correctly merge unsized arrays, and fix link tests.
John Kessenich [Mon, 2 Apr 2018 03:22:34 +0000 (21:22 -0600)]
Linker: Fix #1329: correctly merge unsized arrays, and fix link tests.

6 years agoMerge pull request #1327 from mattparks/patch2
John Kessenich [Fri, 30 Mar 2018 19:36:10 +0000 (13:36 -0600)]
Merge pull request #1327 from mattparks/patch2

Added getter for uniform block bindings

6 years agoAdded getter for uniform block bindings
Matthew Albrecht [Fri, 30 Mar 2018 14:58:01 +0000 (09:58 -0500)]
Added getter for uniform block bindings

6 years agoAllowed for LIB_TYPE to be set to switch between static and shared libs for glslang...
Matthew Albrecht [Fri, 30 Mar 2018 14:32:03 +0000 (09:32 -0500)]
Allowed for LIB_TYPE to be set to switch between static and shared libs for glslang, SPIRV, and HLSL

6 years agoMerge pull request #1325 from KhronosGroup/simplify-doc
John Kessenich [Fri, 30 Mar 2018 06:53:23 +0000 (00:53 -0600)]
Merge pull request #1325 from KhronosGroup/simplify-doc

Non-Functional: Remove unused parts of the disassembler.

6 years agoNon-Functional: Remove unused parts of the disassembler.
John Kessenich [Fri, 30 Mar 2018 06:11:39 +0000 (00:11 -0600)]
Non-Functional: Remove unused parts of the disassembler.

6 years agoMerge pull request #1322 from jeffbolznv/master
John Kessenich [Fri, 30 Mar 2018 04:50:58 +0000 (22:50 -0600)]
Merge pull request #1322 from jeffbolznv/master

Implement GL_NV_shader_subgroup_partitioned

6 years agoImplement GL_NV_shader_subgroup_partitioned
Jeff Bolz [Fri, 30 Mar 2018 03:52:17 +0000 (22:52 -0500)]
Implement GL_NV_shader_subgroup_partitioned

6 years agoMerge pull request #1320 from greg-lunarg/addopt21
John Kessenich [Fri, 30 Mar 2018 02:21:04 +0000 (20:21 -0600)]
Merge pull request #1320 from greg-lunarg/addopt21

Only print legalization warning if optimizer not enabled

6 years agoOnly print legalization warning if optimizer disabled
GregF [Thu, 29 Mar 2018 17:49:14 +0000 (11:49 -0600)]
Only print legalization warning if optimizer disabled

6 years agoMerge pull request #1319 from KhronosGroup/array-rationalization
John Kessenich [Thu, 29 Mar 2018 05:26:27 +0000 (23:26 -0600)]
Merge pull request #1319 from KhronosGroup/array-rationalization

Array rationalization

6 years agoMerge pull request #1316 from greg-lunarg/addopt18
John Kessenich [Thu, 29 Mar 2018 05:26:10 +0000 (23:26 -0600)]
Merge pull request #1316 from greg-lunarg/addopt18

Disable DCE by Remapper through glslangValidator...

6 years agoMerge pull request #1318 from amdrexu/feature
John Kessenich [Thu, 29 Mar 2018 05:24:56 +0000 (23:24 -0600)]
Merge pull request #1318 from amdrexu/feature

Add int16 support to AMD_trinary_minmax and AMD_shader_ballot

6 years agoNon-functional. Rationalizations enabling future generalizations:
John Kessenich [Thu, 29 Mar 2018 00:01:20 +0000 (18:01 -0600)]
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.

6 years agoNon-Functional: Remove merge-replicated code and fix white space.
John Kessenich [Wed, 28 Mar 2018 19:00:55 +0000 (13:00 -0600)]
Non-Functional: Remove merge-replicated code and fix white space.

6 years agoAdd int16 support to AMD_trinary_minmax and AMD_shader_ballot
Rex Xu [Wed, 28 Mar 2018 08:33:01 +0000 (16:33 +0800)]
Add int16 support to AMD_trinary_minmax and AMD_shader_ballot

6 years agoDisable DCE by Remapper through glslangValidator...
GregF [Mon, 26 Mar 2018 23:20:10 +0000 (17:20 -0600)]
Disable DCE by Remapper through glslangValidator...

...now that spirv-opt is capable enough.

6 years agoMerge pull request #1313 from greg-lunarg/kg15
John Kessenich [Tue, 27 Mar 2018 06:46:18 +0000 (00:46 -0600)]
Merge pull request #1313 from greg-lunarg/kg15

Update SPIRV-Tools known good.

6 years agoMerge pull request #1312 from KhronosGroup/fix-mixed-array-styles
John Kessenich [Mon, 26 Mar 2018 18:35:25 +0000 (12:35 -0600)]
Merge pull request #1312 from KhronosGroup/fix-mixed-array-styles

Fix mixed array styles

6 years agoMerge branch 'master' into kg15
greg-lunarg [Mon, 26 Mar 2018 18:20:43 +0000 (12:20 -0600)]
Merge branch 'master' into kg15

6 years agoUpdate SPIRV-Tools known good.
GregF [Mon, 26 Mar 2018 18:11:55 +0000 (12:11 -0600)]
Update SPIRV-Tools known good.

Also update spirv-opt recipes.

6 years agoTypes: Fix #1290: Rationalize and correct "mixed" style array dimensioning.
John Kessenich [Mon, 26 Mar 2018 06:38:53 +0000 (00:38 -0600)]
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

6 years agoTest Results Only: Include size in implicitly sized arrays (change to unsized).
John Kessenich [Sun, 25 Mar 2018 17:46:06 +0000 (11:46 -0600)]
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.

6 years agoNon functional: add EshTargetClientVersion alias for EShTargetClientVersion.
John Kessenich [Fri, 23 Mar 2018 05:54:04 +0000 (23:54 -0600)]
Non functional: add EshTargetClientVersion alias for EShTargetClientVersion.

Fixes #1304.

6 years agoNon-functional: always return value from makeFpConstant().
John Kessenich [Fri, 23 Mar 2018 05:44:11 +0000 (23:44 -0600)]
Non-functional: always return value from makeFpConstant().

Should fix #1308.

6 years agoMerge pull request #1306 from Igalia/uniform-aml-v2
John Kessenich [Wed, 21 Mar 2018 17:19:12 +0000 (11:19 -0600)]
Merge pull request #1306 from Igalia/uniform-aml-v2

Improve --auto-map-locations for uniforms (v2)

6 years agoMerge pull request #1305 from amdrexu/bugfix
John Kessenich [Wed, 21 Mar 2018 16:35:59 +0000 (10:35 -0600)]
Merge pull request #1305 from amdrexu/bugfix

Add additional error check for fragment shader outputs

6 years agoTake into account the number of locations taken up by a uniform
Neil Roberts [Mon, 19 Mar 2018 22:28:19 +0000 (23:28 +0100)]
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.

6 years agoAdd locations to opaque types for OpenGL
Neil Roberts [Mon, 19 Mar 2018 19:05:40 +0000 (20:05 +0100)]
Add locations to opaque types for OpenGL

6 years agoAdd additional error check for fragment shader outputs
Rex Xu [Wed, 21 Mar 2018 07:27:38 +0000 (15:27 +0800)]
Add additional error check for fragment shader outputs

Int64 and uint64 are disallowed as fragment shader outputs, similar to
double.

6 years agoBump patch version.
John Kessenich [Mon, 19 Mar 2018 07:11:04 +0000 (01:11 -0600)]
Bump patch version.

6 years agoMerge pull request #1302 from KhronosGroup/cpp-relax-skiptokens-errors
John Kessenich [Mon, 19 Mar 2018 07:09:51 +0000 (01:09 -0600)]
Merge pull request #1302 from KhronosGroup/cpp-relax-skiptokens-errors

PP: don't give errors on some tokens under #if 0 (or similar).

6 years agoPP: don't give errors on some tokens under #if 0 (or similar).
John Kessenich [Mon, 19 Mar 2018 06:43:18 +0000 (00:43 -0600)]
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.

6 years agoMerge pull request #1282 from KhronosGroup/hlslFunctionality1
John Kessenich [Sat, 17 Mar 2018 02:41:52 +0000 (20:41 -0600)]
Merge pull request #1282 from KhronosGroup/hlslFunctionality1

WIP: Implement SPV_GOOGLE_hlsl_functionality1.

6 years agoImplement SPV_GOOGLE_hlsl_functionality1.
John Kessenich [Thu, 8 Mar 2018 01:05:55 +0000 (18:05 -0700)]
Implement SPV_GOOGLE_hlsl_functionality1.

Enabled via -fhlsl_functionality1

6 years agoMerge pull request #1291 from ben-clayton/add-nv-nopersp
John Kessenich [Fri, 16 Mar 2018 21:50:38 +0000 (15:50 -0600)]
Merge pull request #1291 from ben-clayton/add-nv-nopersp

Add support for GL_NV_shader_noperspective_interpolation

6 years agoBump patch version.
John Kessenich [Fri, 16 Mar 2018 17:52:10 +0000 (11:52 -0600)]
Bump patch version.

6 years agoMerge pull request #1299 from KhronosGroup/fix-conversions
John Kessenich [Fri, 16 Mar 2018 17:30:09 +0000 (11:30 -0600)]
Merge pull request #1299 from KhronosGroup/fix-conversions

Fix conversions

6 years agoAdd tests for GL_NV_shader_noperspective_interpolation
Ben Clayton [Fri, 16 Mar 2018 13:15:48 +0000 (13:15 +0000)]
Add tests for GL_NV_shader_noperspective_interpolation

6 years agoMerge pull request #1289 from Igalia/igalia/dmat-scalar-division
John Kessenich [Fri, 16 Mar 2018 05:49:59 +0000 (23:49 -0600)]
Merge pull request #1289 from Igalia/igalia/dmat-scalar-division

Use the correct type for the constant for matrix/scalar division

6 years agoAST: Fix shift conversions, which don't require matching types.
John Kessenich [Fri, 16 Mar 2018 03:07:35 +0000 (21:07 -0600)]
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.

6 years agoNon-functional: Rationalize operators handled by the split addConversion() functions.
John Kessenich [Fri, 16 Mar 2018 01:52:33 +0000 (19:52 -0600)]
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.

6 years agoAST: Remove convertToBasicType() which was obfuscating the conversion design.
John Kessenich [Fri, 16 Mar 2018 01:14:47 +0000 (19:14 -0600)]
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).

6 years agoMerge pull request #1294 from dgkoch/dgkoch_build_fixes4
John Kessenich [Wed, 14 Mar 2018 07:05:56 +0000 (01:05 -0600)]
Merge pull request #1294 from dgkoch/dgkoch_build_fixes4

Fix build several build errors

6 years agoFix build several build errors
Daniel Koch [Tue, 13 Mar 2018 21:06:51 +0000 (17:06 -0400)]
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.

6 years agoMerge pull request #1293 from baldurk/remove-en-dash
John Kessenich [Tue, 13 Mar 2018 20:32:56 +0000 (14:32 -0600)]
Merge pull request #1293 from baldurk/remove-en-dash

Replace en-dash with simple ASCII hyphen

6 years agoReplace en-dash with simple ASCII hyphen
Baldur Karlsson [Tue, 13 Mar 2018 19:53:30 +0000 (19:53 +0000)]
Replace en-dash with simple ASCII hyphen

* This means the source file is ASCII instead of (assumed) UTF-8 and
  doesn't cause warnings when compiling on non-western codepages.

6 years agoAdd support for GL_NV_shader_noperspective_interpolation
Ben Clayton [Mon, 12 Mar 2018 15:12:38 +0000 (15:12 +0000)]
Add support for GL_NV_shader_noperspective_interpolation

6 years agoUse the correct type for the constant for matrix/scalar division
Neil Roberts [Tue, 13 Mar 2018 09:57:59 +0000 (10:57 +0100)]
Use the correct type for the constant for matrix/scalar division

When a matrix is divided by a scalar it tries to take the reciprocal
of the scalar to convert the operation into a multiply. However it was
always doing this by making a 32-bit constant. If the scalar is a
double then this would end up making an FDiv instruction with
different types in the operands.

This patch adds a helper method called makeFpConstant which makes a
floating-point constant of the given type. The code to take the
reciprocal now uses it to make the same type as the result.

Fixes https://github.com/KhronosGroup/glslang/issues/1278

6 years agoMerge pull request #1286 from greg-lunarg/kg14
John Kessenich [Mon, 12 Mar 2018 18:42:27 +0000 (12:42 -0600)]
Merge pull request #1286 from greg-lunarg/kg14

Update known_good to SPIR-V 1.3 support

6 years agoMerge pull request #1288 from amdrexu/bugfix
John Kessenich [Mon, 12 Mar 2018 18:41:56 +0000 (12:41 -0600)]
Merge pull request #1288 from amdrexu/bugfix

HLSL: Correct some mistakes for min16 types

6 years agoMerge pull request #1287 from eintw1ck/master
John Kessenich [Mon, 12 Mar 2018 18:39:00 +0000 (12:39 -0600)]
Merge pull request #1287 from eintw1ck/master

include/Common.h: reorder includes to avoid redefinition on some platforms

6 years agoHLSL: Correct some mistakes for min16 types
Rex Xu [Mon, 12 Mar 2018 15:15:11 +0000 (23:15 +0800)]
HLSL: Correct some mistakes for min16 types

- Add missing constructor ops to support float16/int16/uint16 types
- Allow half float literals
- Correct two errors of double literal parse in HLSL: extension check and
  postfix

6 years agoinclude/Common.h: reorder includes to avoid redefinition on some platforms
Josh de Kock [Sun, 11 Mar 2018 19:48:48 +0000 (19:48 +0000)]
include/Common.h: reorder includes to avoid redefinition on some platforms

On some systems sstream defines snprintf, this leads to the a redefinition of sprintf_s if snprintf is defined before checking if it exists in sstream.

6 years agoIncrement minor version to 4
GregF [Sat, 10 Mar 2018 00:51:11 +0000 (17:51 -0700)]
Increment minor version to 4

6 years agoUpdate known_good to SPIR-V 1.3 support
GregF [Sat, 10 Mar 2018 00:45:57 +0000 (17:45 -0700)]
Update known_good to SPIR-V 1.3 support

6 years agoMerge pull request #1283 from siavashserver/fix-memory-leak
John Kessenich [Thu, 8 Mar 2018 17:55:02 +0000 (10:55 -0700)]
Merge pull request #1283 from siavashserver/fix-memory-leak

Fix memory leak upon ProcessDeferred failure.

6 years agoMerge pull request #1284 from amdrexu/bugfix
John Kessenich [Thu, 8 Mar 2018 17:24:32 +0000 (10:24 -0700)]
Merge pull request #1284 from amdrexu/bugfix

Allow --hlsl-enable-16bit-types to be used without AMD_EXTENSIONS