platform/upstream/glslang.git
4 years agoGL_EXT_debug_printf implementation
Jeff Bolz [Fri, 31 May 2019 18:06:01 +0000 (13:06 -0500)]
GL_EXT_debug_printf implementation

4 years agoImprove formatting.
John Kessenich [Wed, 4 Mar 2020 07:15:20 +0000 (00:15 -0700)]
Improve formatting.

4 years agoAdd "news" section and component status.
John Kessenich [Wed, 4 Mar 2020 07:07:50 +0000 (00:07 -0700)]
Add "news" section and component status.

Includes an additional deprecation and rationalizing the beginning sections.

4 years agoFix long lines in the SPIR-V generator, retrigger bots.
John Kessenich [Tue, 3 Mar 2020 17:25:07 +0000 (10:25 -0700)]
Fix long lines in the SPIR-V generator, retrigger bots.

4 years agoFix #1843: Handle built-in function output parameters to a swizzled arg
John Kessenich [Tue, 3 Mar 2020 14:21:37 +0000 (07:21 -0700)]
Fix #1843: Handle built-in function output parameters to a swizzled arg

In GLSL/HLSL/AST,  v.zyx is an l-value, but not in SPIR-V, which cannot represent it.
So, a temporary is used instead.

4 years agoCopyright update, mostly to trigger bots again.
John Kessenich [Sun, 1 Mar 2020 11:51:40 +0000 (04:51 -0700)]
Copyright update, mostly to trigger bots again.

4 years agoFix #2095: correct the indentation.
John Kessenich [Sun, 1 Mar 2020 09:16:51 +0000 (02:16 -0700)]
Fix #2095: correct the indentation.

This also made it obvious some code was (functionally correctly)
repeated, so deleted that too.

4 years agoFix #1461: set the SPIRV-Tools' optimizer's target environment.
John Kessenich [Fri, 28 Feb 2020 14:10:59 +0000 (07:10 -0700)]
Fix #1461: set the SPIRV-Tools' optimizer's target environment.

4 years agoFix #2091, remove incorrect assert for division by 0.0.
John Kessenich [Fri, 28 Feb 2020 11:09:29 +0000 (04:09 -0700)]
Fix #2091, remove incorrect assert for division by 0.0.

4 years agoMerge pull request #2093 from LilyWangL/vcpkg-instructions
John Kessenich [Fri, 28 Feb 2020 08:01:47 +0000 (01:01 -0700)]
Merge pull request #2093 from LilyWangL/vcpkg-instructions

Add vcpkg installation instructions

4 years agoMerge pull request #2092 from corporateshark/master
John Kessenich [Fri, 28 Feb 2020 07:26:33 +0000 (00:26 -0700)]
Merge pull request #2092 from corporateshark/master

Fix for #2075: removed DefaultTBuiltInResource from glslang_c_interface.cpp

4 years agoAdd vcpkg installation instructions
wangli28 [Fri, 28 Feb 2020 06:41:18 +0000 (06:41 +0000)]
Add vcpkg installation instructions

4 years agoFix for #2075: removed DefaultTBuiltInResource from glslang_c_interface.cpp
Sergey Kosarevsky [Thu, 27 Feb 2020 23:18:37 +0000 (02:18 +0300)]
Fix for #2075: removed DefaultTBuiltInResource from glslang_c_interface.cpp

4 years agoMerge pull request #2090 from amdrexu/bugfix
John Kessenich [Sat, 22 Feb 2020 14:52:12 +0000 (07:52 -0700)]
Merge pull request #2090 from amdrexu/bugfix

Fix an issue of SPV generation for imageAtomicStore.

4 years agoFix an issue of SPV generation for imageAtomicStore.
Rex Xu [Sat, 22 Feb 2020 14:04:31 +0000 (22:04 +0800)]
Fix an issue of SPV generation for imageAtomicStore.

For GLSL function imageAtomicStore, it will be translated to
OpImageTexelPointer + OpAtomicStore. The result type of
OpImageTexelPointer must be the same as the sampled type of OpTypeImage.
On translation, the result type is mistakenly fetched from operand list
operands[2] while operands[2] corresponds to sampleNum whose type is
always uint. This leads to an error if the image type is iimageXXX that is
int image.

4 years agoMerge pull request #2086 from samuelig/SPV_AMD_shader_image_load_store_lod
John Kessenich [Thu, 20 Feb 2020 06:25:39 +0000 (23:25 -0700)]
Merge pull request #2086 from samuelig/SPV_AMD_shader_image_load_store_lod

SPV_AMD_shader_image_load_store_lod is now validated by spirv-tools

4 years agoSPV_AMD_shader_image_load_store_lod is now validated by spirv-tools
Samuel Iglesias Gonsálvez [Mon, 17 Feb 2020 14:42:00 +0000 (15:42 +0100)]
SPV_AMD_shader_image_load_store_lod is now validated by spirv-tools

4 years agoMerge pull request #2089 from Roy-AMD/Fix-iomapper-issue
John Kessenich [Wed, 19 Feb 2020 10:51:38 +0000 (03:51 -0700)]
Merge pull request #2089 from Roy-AMD/Fix-iomapper-issue

Fix iomapper issue

4 years agoFix iomapper issue
Roy.li [Wed, 19 Feb 2020 08:38:02 +0000 (16:38 +0800)]
Fix iomapper issue

Use type name to index map to instead of use instance name to index map, or anonymous block will cause a map issue.

4 years agoMerge pull request #2087 from KhronosGroup/fix-2070-implicit-conv-single-arg
John Kessenich [Tue, 18 Feb 2020 14:27:50 +0000 (07:27 -0700)]
Merge pull request #2087 from KhronosGroup/fix-2070-implicit-conv-single-arg

HLSL: Fix part of #2070: Correctly handle promotion for <unary-op>(int).

4 years agoFix part of #2070: Correctly handle promotion for <unary-op>(int).
John Kessenich [Tue, 11 Feb 2020 13:23:48 +0000 (06:23 -0700)]
Fix part of #2070: Correctly handle promotion for <unary-op>(int).

This still only handles a scalar correctly, and some
vector cases need additional fixes.

4 years agoMerge pull request #2084 from durswd/enable_rtti
John Kessenich [Tue, 18 Feb 2020 02:27:46 +0000 (19:27 -0700)]
Merge pull request #2084 from durswd/enable_rtti

Add an option to make RTTI enabled

4 years agoAdd an option to make RTTI enabled
durswd [Mon, 17 Feb 2020 17:37:09 +0000 (02:37 +0900)]
Add an option to make RTTI enabled

4 years agoMerge pull request #2081 from kainino0x/split-emscripten-from-glslang.js
John Kessenich [Fri, 7 Feb 2020 13:10:29 +0000 (06:10 -0700)]
Merge pull request #2081 from kainino0x/split-emscripten-from-glslang.js

CMake: Split "is emscripten" config from "enable glslang.js"

4 years agoSplit "is emscripten" config from "enable glslang.js"
Kai Ninomiya [Thu, 6 Feb 2020 21:36:52 +0000 (13:36 -0800)]
Split "is emscripten" config from "enable glslang.js"

This should enable glslang to be used as a dependency of other projects
that target WebAssembly, instead of assuming "EMSCRIPTEN" => "Want
glslang.js".

4 years agoMerge pull request #2079 from dneto0/warnings
John Kessenich [Thu, 6 Feb 2020 16:12:50 +0000 (09:12 -0700)]
Merge pull request #2079 from dneto0/warnings

Avoid enum-compare warning, missing cases in switch

4 years agoAvoid enum-compare warning
David Neto [Thu, 6 Feb 2020 10:43:43 +0000 (05:43 -0500)]
Avoid enum-compare warning

4 years agoMerge pull request #2028 from ShchchowAMD/constant_expressions_array_mod
John Kessenich [Thu, 6 Feb 2020 09:56:37 +0000 (02:56 -0700)]
Merge pull request #2028 from ShchchowAMD/constant_expressions_array_mod

GLSL: Support constant folding for mod

4 years agoMerge pull request #2078 from amdrexu/bugfix
John Kessenich [Thu, 6 Feb 2020 09:20:47 +0000 (02:20 -0700)]
Merge pull request #2078 from amdrexu/bugfix

GLSL: Fix semantic error for GL_KHR_memory_scope_semantics

4 years agoFix a parser error of GL_KHR_memory_scope_semantics
Rex Xu [Thu, 6 Feb 2020 08:51:10 +0000 (16:51 +0800)]
Fix a parser error of GL_KHR_memory_scope_semantics

When 2DMS or 2DMSArray is used, IMAGE_PARAMS will take an additional
paramter to represent sample number. The semantics check should get the
correct semantics values, taking this case into account.

4 years agoMerge pull request #2077 from kainino0x/configurable-target-pr
John Kessenich [Wed, 5 Feb 2020 09:02:51 +0000 (02:02 -0700)]
Merge pull request #2077 from kainino0x/configurable-target-pr

glslang.js: Make the SPIR-V target version configurable (1.0 ~ 1.5) and default to 1.0

4 years agoglslang.js: Make the SPIR-V target version configurable (1.0 ~ 1.5)
Kai Ninomiya [Fri, 24 Jan 2020 06:22:34 +0000 (22:22 -0800)]
glslang.js: Make the SPIR-V target version configurable (1.0 ~ 1.5)

4 years agoMerge pull request #2073 from tsuoranta/fix-memory-corruption
John Kessenich [Tue, 4 Feb 2020 08:24:39 +0000 (01:24 -0700)]
Merge pull request #2073 from tsuoranta/fix-memory-corruption

Fix memory corruption in TGlslIoMapper

4 years agoFix memory corruption in TGlslIoMapper
Timo Suoranta [Sun, 2 Feb 2020 09:31:49 +0000 (11:31 +0200)]
Fix memory corruption in TGlslIoMapper

4 years agoMerge pull request #2071 from jeffbolznv/version_less
John Kessenich [Thu, 30 Jan 2020 07:58:38 +0000 (00:58 -0700)]
Merge pull request #2071 from jeffbolznv/version_less

Use NOT ... VERSION_LESS instead of VERSION_GREATER_EQUAL

4 years agoUse NOT ... VERSION_LESS instead of VERSION_GREATER_EQUAL
Jeff Bolz [Thu, 30 Jan 2020 03:39:13 +0000 (21:39 -0600)]
Use NOT ... VERSION_LESS instead of VERSION_GREATER_EQUAL

4 years agoMerge pull request #2068 from jljusten/standalone-fix-long-help
John Kessenich [Wed, 29 Jan 2020 05:25:17 +0000 (22:25 -0700)]
Merge pull request #2068 from jljusten/standalone-fix-long-help

standalone: Fix --help

4 years agostandalone: Fix --help
Jordan Justen [Tue, 28 Jan 2020 20:18:12 +0000 (12:18 -0800)]
standalone: Fix --help

Fixes: bd97b6f9 ("Command-line: Give better error messages. From #1829.")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agoMerge pull request #2065 from zoddicus/fixChromiumDawnRolls
John Kessenich [Mon, 27 Jan 2020 19:35:25 +0000 (12:35 -0700)]
Merge pull request #2065 from zoddicus/fixChromiumDawnRolls

Use correct enum type in case statement

4 years agoUse correct enum type in case statement
Ryan Harrison [Mon, 27 Jan 2020 19:31:45 +0000 (14:31 -0500)]
Use correct enum type in case statement

Two similarly named enums led to the wrong one being used here, this
is getting caught in the Chromium and Dawn DEPS rolls.

4 years agoBuild: Fix more build warnings caused by PR #2038.
John Kessenich [Mon, 27 Jan 2020 17:16:25 +0000 (10:16 -0700)]
Build: Fix more build warnings caused by PR #2038.

Revisit fix for #2062 for consistency with this commit.

4 years agoMerge pull request #1940 from tsuoranta/fix-gcc9
John Kessenich [Mon, 27 Jan 2020 08:02:08 +0000 (01:02 -0700)]
Merge pull request #1940 from tsuoranta/fix-gcc9

Fix for GCC 9 / Werror=deprecated-copy

4 years agoMerge pull request #2035 from ShchchowAMD/builtin_max_limits
John Kessenich [Mon, 27 Jan 2020 05:38:13 +0000 (22:38 -0700)]
Merge pull request #2035 from ShchchowAMD/builtin_max_limits

Add Tess machine dependent built-in variables initialization for GLES…

4 years agoBuild warning: Fix #2062, missing enum value in a switch.
John Kessenich [Mon, 27 Jan 2020 04:37:38 +0000 (21:37 -0700)]
Build warning: Fix #2062, missing enum value in a switch.

4 years agoMerge pull request #2038 from corporateshark/c_interface
John Kessenich [Fri, 24 Jan 2020 11:10:09 +0000 (04:10 -0700)]
Merge pull request #2038 from corporateshark/c_interface

Implemented C-language interface for glslang

4 years agoMerge pull request #8 from KhronosGroup/master
Roy.li [Tue, 21 Jan 2020 03:22:30 +0000 (11:22 +0800)]
Merge pull request #8 from KhronosGroup/master

Merge code

4 years agoHLSL: Fix #1974: ignore input primitives on non-entry-point functions.
John Kessenich [Fri, 17 Jan 2020 07:11:12 +0000 (00:11 -0700)]
HLSL: Fix #1974: ignore input primitives on non-entry-point functions.

4 years agoFix #2059, and also attempt to skip test bots [skip ci]
John Kessenich [Thu, 16 Jan 2020 07:52:28 +0000 (00:52 -0700)]
Fix #2059, and also attempt to skip test bots [skip ci]

4 years agoMerge pull request #2033 from ShchchowAMD/binding_contradictory
John Kessenich [Thu, 16 Jan 2020 07:23:03 +0000 (00:23 -0700)]
Merge pull request #2033 from ShchchowAMD/binding_contradictory

Add Error check flag in io mapper

4 years agoAdd Error check flag in io mapper
Chow [Tue, 24 Dec 2019 03:49:02 +0000 (11:49 +0800)]
Add Error check flag in io mapper

GLSL could detect contradictory uniform binding, but missing error reporting, even if we could now observe error inside infosink.

Add error check when first time validate uniform binding. When doing traversal, it should be zero error.

This error check flag will be used during linking time. To quickly report errors like contradictory uniform bindings.

Add error check flags for TDefaultGlslIoResolver when catching EPrefixInternalError

4 years agoMerge pull request #2058 from KhronosGroup/vulkan-1.2
John Kessenich [Wed, 15 Jan 2020 17:48:58 +0000 (10:48 -0700)]
Merge pull request #2058 from KhronosGroup/vulkan-1.2

SPV/Vulkan: Add support for Vulkan 1.2, which defaults to SPIR-V 1.5.

4 years agoUpdate to latest SPIRV-Tools, supporting Vulkan 1.2.
John Kessenich [Wed, 15 Jan 2020 16:35:48 +0000 (09:35 -0700)]
Update to latest SPIRV-Tools, supporting Vulkan 1.2.

4 years agoSPV/Vulkan: Add support for Vulkan 1.2, which defaults to SPIR-V 1.5.
John Kessenich [Wed, 15 Jan 2020 07:10:41 +0000 (00:10 -0700)]
SPV/Vulkan: Add support for Vulkan 1.2, which defaults to SPIR-V 1.5.

4 years agoMerge pull request #2046 from Roy-AMD/Fix-multiple-AST-spv-generate-crash-issue
John Kessenich [Fri, 10 Jan 2020 17:19:24 +0000 (10:19 -0700)]
Merge pull request #2046 from Roy-AMD/Fix-multiple-AST-spv-generate-crash-issue

Fix glslang can't link multiple AST in a single stage

4 years agoMerge pull request #1998 from ShchchowAMD/ARB_gpu_shader_fp64
John Kessenich [Wed, 8 Jan 2020 13:18:44 +0000 (06:18 -0700)]
Merge pull request #1998 from ShchchowAMD/ARB_gpu_shader_fp64

Add support for ARB_gpu_shader_fp64

4 years agoPublic: replaced tabs with spaces
Sergey Kosarevsky [Wed, 8 Jan 2020 11:26:44 +0000 (14:26 +0300)]
Public: replaced tabs with spaces

4 years agoCInterface: replaced tabs with spaces
Sergey Kosarevsky [Wed, 8 Jan 2020 11:25:56 +0000 (14:25 +0300)]
CInterface: replaced tabs with spaces

4 years agoMerge pull request #2052 from KhronosGroup/fix-processed-def-undef-1829
John Kessenich [Wed, 8 Jan 2020 09:21:34 +0000 (02:21 -0700)]
Merge pull request #2052 from KhronosGroup/fix-processed-def-undef-1829

Fix #1829: Allow "--" options for def/undef, for OpModuleProcessed.

4 years agoFix #1829: Add "--" command-line options for macro def/undef.
John Kessenich [Tue, 7 Jan 2020 14:03:11 +0000 (07:03 -0700)]
Fix #1829: Add "--" command-line options for macro def/undef.

This allows OpModuleProcessed logging to be consistent with everything taking
"--" options.

4 years agoMove symbol builtin check to grammar stage
Chow [Wed, 8 Jan 2020 06:07:50 +0000 (14:07 +0800)]
Move symbol builtin check to grammar stage

FYI, move builtin check to type symbol check.
Avoid modifying interface doubleCheck().

4 years agoMerge pull request #2048 from Roy-AMD/Add-missing-extension-defination
John Kessenich [Tue, 7 Jan 2020 08:32:53 +0000 (01:32 -0700)]
Merge pull request #2048 from Roy-AMD/Add-missing-extension-defination

Add missing extension defination

4 years agoAdd missing extension defination
Roy [Mon, 6 Jan 2020 07:02:14 +0000 (15:02 +0800)]
Add missing extension defination

This micro should been defined 1, if opengl 2.0 is required.

4 years agoMerge pull request #2032 from ShchchowAMD/atomic-uint-binding
John Kessenich [Tue, 7 Jan 2020 06:49:23 +0000 (23:49 -0700)]
Merge pull request #2032 from ShchchowAMD/atomic-uint-binding

Modify max binding checks for atomic_uint

4 years agoMerge pull request #2050 from ShchchowAMD/built_in_MaxVector
John Kessenich [Mon, 6 Jan 2020 16:21:33 +0000 (09:21 -0700)]
Merge pull request #2050 from ShchchowAMD/built_in_MaxVector

Add builtin constants gl_MaxFragmentUniformVectors and gl_MaxVertexUniformVectors.

4 years agoBump revision
John Kessenich [Mon, 6 Jan 2020 14:50:40 +0000 (07:50 -0700)]
Bump revision

4 years agoAdd builtin constants
Chow [Mon, 6 Jan 2020 07:53:20 +0000 (15:53 +0800)]
Add builtin constants

Add builtin constants:

gl_MaxFragmentUniformVectors and gl_MaxVertexUniformVectors.
They should both be available since version 410 for core.

4 years agoAdd support for ARB_gpu_shader_fp64
Chow [Tue, 26 Nov 2019 09:27:33 +0000 (17:27 +0800)]
Add support for ARB_gpu_shader_fp64

GLSL Version : >= 150

Purpose:
Allow users to use features by enabling this extension, even in low versions.

Extension Name:
ARB_gpu_shader_fp64

Builtin-variables:
Nah

Builtin-functions:
functions overloaded for this extension, please check registry in reference.

Keywords:
Double

Features:
add support for type "double"

Reference:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_fp64.txt

Add support for implicit conversion

1. Remove builtin double vertex (this is introduced by vertex_attrib_64bit
2. Add extension check and implicit conversion as double has been introduced
3. Add test results.

4 years agoFix glslang can't link multiple AST in a single stage
Roy [Fri, 3 Jan 2020 08:21:34 +0000 (16:21 +0800)]
Fix glslang can't link multiple AST in a single stage

Root cause:
GlslangToSpv use symbol structure's ptr as a map key, but multiple shader object can build a new AST.
In the AST the the same symbol has different ptr point to their structure, so indext map faild.

solution:
Add a new map glslangTypeToIdMap to map ptr to symbol id, and use symbol id to index memberRemapper.

4 years agoCInterface: added static asserts to compare C/C++ enums
Sergey Kosarevsky [Mon, 30 Dec 2019 08:13:06 +0000 (11:13 +0300)]
CInterface: added static asserts to compare C/C++ enums

4 years agoAdded LAST_ELEMENT_MARKER for every enum used in the C interface
Sergey Kosarevsky [Mon, 30 Dec 2019 08:11:55 +0000 (11:11 +0300)]
Added LAST_ELEMENT_MARKER for every enum used in the C interface

4 years agoMerge pull request #1997 from ShchchowAMD/ARB_uniform_buffer_object
John Kessenich [Mon, 30 Dec 2019 04:33:41 +0000 (21:33 -0700)]
Merge pull request #1997 from ShchchowAMD/ARB_uniform_buffer_object

Add support for ARB_uniform_buffer_object

4 years agoMerge branch 'master' into ARB_uniform_buffer_object
John Kessenich [Mon, 30 Dec 2019 04:32:41 +0000 (21:32 -0700)]
Merge branch 'master' into ARB_uniform_buffer_object

4 years agoMerge pull request #1996 from ShchchowAMD/ARB_texture_multisample
John Kessenich [Mon, 30 Dec 2019 03:19:39 +0000 (20:19 -0700)]
Merge pull request #1996 from ShchchowAMD/ARB_texture_multisample

Add support for ARB_texture_multisample

4 years agoMerge pull request #2036 from ShchchowAMD/fix_atomic_uint_offset_check
John Kessenich [Mon, 30 Dec 2019 02:49:16 +0000 (19:49 -0700)]
Merge pull request #2036 from ShchchowAMD/fix_atomic_uint_offset_check

atomic counter offset should align to 4 (compute shader)

4 years agoMerge pull request #1995 from ShchchowAMD/ARB_sample_shading_support
John Kessenich [Mon, 30 Dec 2019 02:35:18 +0000 (19:35 -0700)]
Merge pull request #1995 from ShchchowAMD/ARB_sample_shading_support

Add support for ARB_sample_shading

4 years agoCInterface: replaced SH_ prefix with GLSLANG_
Sergey Kosarevsky [Thu, 26 Dec 2019 18:17:37 +0000 (21:17 +0300)]
CInterface: replaced SH_ prefix with GLSLANG_

4 years agoHLSL: Fix #2037: Integer dot used incorrect input for adds.
John Kessenich [Thu, 26 Dec 2019 17:56:54 +0000 (10:56 -0700)]
HLSL: Fix #2037: Integer dot used incorrect input for adds.

4 years agoatomic counter offset should align to 4
Chow [Wed, 25 Dec 2019 09:27:45 +0000 (17:27 +0800)]
atomic counter offset should align to 4

atomic counter offset should align to 4
Ref:
glspec46.core - 6.8 BufferObjectState
offset restriction multiple of 4

4 years agoModify atomic_uint binding check
Chow [Wed, 25 Dec 2019 09:08:48 +0000 (17:08 +0800)]
Modify atomic_uint binding check

Modify atomic_uint binding check.

Currently, when not declared with offset, default atomic_unint won't check whether its binding is valid or not more than its limit value.

4 years agoCInterface: added glslang_program_SPIRV_get_ptr()
Sergey Kosarevsky [Tue, 24 Dec 2019 22:01:06 +0000 (01:01 +0300)]
CInterface: added glslang_program_SPIRV_get_ptr()

4 years agoCInterface: added files to CMakeLists.txt
Sergey Kosarevsky [Tue, 24 Dec 2019 21:06:00 +0000 (00:06 +0300)]
CInterface: added files to CMakeLists.txt

4 years agoCInterface: added _BIT suffix to glslang_messages_t and glslang_reflection_options_t...
Sergey Kosarevsky [Tue, 24 Dec 2019 21:05:41 +0000 (00:05 +0300)]
CInterface: added _BIT suffix to glslang_messages_t and glslang_reflection_options_t, fixed const-correctness

4 years agoCInterface: reformatted according to .clang-format rules
Sergey Kosarevsky [Tue, 24 Dec 2019 21:00:23 +0000 (00:00 +0300)]
CInterface: reformatted according to .clang-format rules

4 years agoAdded original glslang_c_interface implementation by Viktor Latypov
Sergey Kosarevsky [Tue, 24 Dec 2019 20:53:05 +0000 (23:53 +0300)]
Added original glslang_c_interface implementation by Viktor Latypov

4 years agoAdd Tess machine dependent built-in variables initialization for GLES 3.2
Chow [Tue, 24 Dec 2019 05:56:15 +0000 (13:56 +0800)]
Add Tess machine dependent built-in variables initialization for GLES 3.2

Add Tess machine dependent built-in variables initialization for GLES 3.2

4 years agoAdd support for ARB_uniform_buffer_object
Chow [Tue, 26 Nov 2019 09:02:46 +0000 (17:02 +0800)]
Add support for ARB_uniform_buffer_object

GLSL Version : >= 120

Purpose:
Allow users to use features by enabling this extension, even in low versions.

Extension Name:
ARB_uniform_buffer_object

Builtin-variables:
Uniform

Builtin-functions:
Nah

Keywords:
Nah

Features:
uniform block

Reference:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_uniform_buffer_object.txt

4 years agoAdd support for ARB_texture_multisample
Chow [Tue, 26 Nov 2019 08:28:52 +0000 (16:28 +0800)]
Add support for ARB_texture_multisample

GLSL Version : >= 140

Purpose:
Allow users to use features by enabling this extension, even in low versions.

Extension Name:
ARB_texture_multisample

Builtin-variables:
Nah

Builtin-functions:
Nah

Keywords:
      sampler2DMS, isampler2DMS, usampler2DMS,
      sampler2DMSArray, isampler2DMSArray, usampler2DMSArray

Reference:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_multisample.txt

4 years agoAdd support for ARB_sample_shading
Chow [Tue, 26 Nov 2019 08:18:52 +0000 (16:18 +0800)]
Add support for ARB_sample_shading

Version : >= 130

Extension Name: ARB_sample_shading

Builtin-variables:
"gl_SampleID"
"gl_SamplePosition"
"gl_SampleMask"
"gl_NumSamples"

Reference:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_sample_shading.txt

4 years agoAdd constant expression with mod
Chow [Mon, 23 Dec 2019 03:29:52 +0000 (11:29 +0800)]
Add constant expression with mod

Purpose:
glsl spec allows to define array with the length of the result of  constant expression, the arithmetic operation of "mod(float (7.1), float (4.0))" should be generate the array length at the shader compile time,

but glslang didn't support mod operation for the constant expression in previous implementation;

An example is as following:

###########
#version 460
flat out highp int vtx_out_out0;
void main (void)
{
     float array[int(mod(float (7.1), float (4.0)))];
     vtx_out_out0 =  array.length();
}
###########

4 years agoCommand-line: Give better error messages. From #1829.
John Kessenich [Fri, 20 Dec 2019 17:33:13 +0000 (10:33 -0700)]
Command-line: Give better error messages. From #1829.

4 years agoMerge pull request #7 from KhronosGroup/master
Roy.li [Wed, 18 Dec 2019 07:21:32 +0000 (15:21 +0800)]
Merge pull request #7 from KhronosGroup/master

Sync code from glslang base repo

4 years agoMerge pull request #2023 from greg-lunarg/kg109
John Kessenich [Fri, 13 Dec 2019 05:28:57 +0000 (22:28 -0700)]
Merge pull request #2023 from greg-lunarg/kg109

Update spriv-tools known good

4 years agoUpdate spriv-tools known good
Greg Fischer [Thu, 12 Dec 2019 18:15:42 +0000 (11:15 -0700)]
Update spriv-tools known good

4 years agoMerge pull request #2021 from KhronosGroup/fix-2020-inconsistent-HLSL
John Kessenich [Tue, 10 Dec 2019 07:36:41 +0000 (00:36 -0700)]
Merge pull request #2021 from KhronosGroup/fix-2020-inconsistent-HLSL

Fix #2020: PR #1977 broke HLSL member consistency, this fixes it.

4 years agoFix #2020: PR #1977 broke HLSL member consistency, this finishes it...
John Kessenich [Tue, 10 Dec 2019 06:48:50 +0000 (23:48 -0700)]
Fix #2020: PR #1977 broke HLSL member consistency, this finishes it...

using an unitialized member.  This commit consistently does not use those
HLSL members unless ENABLE_HLSL is on.

4 years agoMerge pull request #2019 from KhronosGroup/fix-2014-dont-and-versions-extensions
John Kessenich [Mon, 9 Dec 2019 17:18:17 +0000 (10:18 -0700)]
Merge pull request #2019 from KhronosGroup/fix-2014-dont-and-versions-extensions

Fix: #2014: Don't do "extension-on && version >= ..." keyword checks.

4 years agoMerge pull request #2018 from KhronosGroup/fix-2007-rationalize-include-paths
John Kessenich [Mon, 9 Dec 2019 15:10:38 +0000 (08:10 -0700)]
Merge pull request #2018 from KhronosGroup/fix-2007-rationalize-include-paths

Fix #2007: Fix a couple relative header paths in header files.

4 years agoFix: #2014: Don't do "extension-on && version >= ..." keyword checks.
John Kessenich [Mon, 9 Dec 2019 11:34:09 +0000 (04:34 -0700)]
Fix: #2014: Don't do "extension-on && version >= ..." keyword checks.

Keywords should only have tests like "extension-on || version >= ...", or
"extension-off && version <= ...".

4 years agoFix #2007: Fix a couple relative header paths in header files.
John Kessenich [Mon, 9 Dec 2019 10:12:10 +0000 (03:12 -0700)]
Fix #2007: Fix a couple relative header paths in header files.

4 years agoFix #1993: Fully exclude ftransform() from SPIR-V semantics.
John Kessenich [Mon, 9 Dec 2019 08:23:37 +0000 (01:23 -0700)]
Fix #1993: Fully exclude ftransform() from SPIR-V semantics.