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().
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.
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
John Kessenich [Mon, 30 Dec 2019 04:32:41 +0000 (21:32 -0700)]
Merge branch 'master' into ARB_uniform_buffer_object
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
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)
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
John Kessenich [Thu, 26 Dec 2019 17:56:54 +0000 (10:56 -0700)]
HLSL: Fix #2037: Integer dot used incorrect input for adds.
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
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
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
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
John Kessenich [Fri, 20 Dec 2019 17:33:13 +0000 (10:33 -0700)]
Command-line: Give better error messages. From #1829.
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
Greg Fischer [Thu, 12 Dec 2019 18:15:42 +0000 (11:15 -0700)]
Update spriv-tools known good
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.
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.
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.
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.
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 <= ...".
John Kessenich [Mon, 9 Dec 2019 10:12:10 +0000 (03:12 -0700)]
Fix #2007: Fix a couple relative header paths in header files.
John Kessenich [Mon, 9 Dec 2019 08:23:37 +0000 (01:23 -0700)]
Fix #1993: Fully exclude ftransform() from SPIR-V semantics.
John Kessenich [Thu, 5 Dec 2019 02:24:16 +0000 (19:24 -0700)]
Merge pull request #2010 from rnk/pool-alloc-clang
Remove glslang::pool_allocator::setAllocator
Reid Kleckner [Wed, 4 Dec 2019 22:09:03 +0000 (14:09 -0800)]
Remove glslang::pool_allocator::setAllocator
TPoolAllocator is not copy assignable, so this setter could never have
been used. After a recent change (
878a24ee2), new versions of Clang
reject this code outright.
John Kessenich [Wed, 4 Dec 2019 03:07:08 +0000 (20:07 -0700)]
Merge pull request #1990 from ianromanick/INTEL_shader_integer_functions2
Implement INTEL_shader_integer_functions2
Ian Romanick [Mon, 21 Jan 2019 16:57:25 +0000 (08:57 -0800)]
INTEL_shader_integer_functions2: Add SPIR-V generation
v2: Move addCapability and addExtension extension calls from
TGlslangToSpvTraverser::createBinaryOperation to
TGlslangToSpvTraverser::visitAggregate. Suggested by JohnK.
Ian Romanick [Thu, 20 Sep 2018 08:22:19 +0000 (01:22 -0700)]
INTEL_shader_integer_functions2: Add compiler front-end support
The changes to glslang/glslang/MachineIndependent/ParseHelper.cpp exist
purely to prevent even more instances of "warning: enumeration value
‘EOp...’ not handled in switch"
v2: Remove 8-bit types. Overzealous copy-and-paste led to adding
support for a bunch of types that the extension doesn't actually enable.
v3: Update expected test results file. Just changing an expected
results file to make a test pass seems sketchy to me, but I'm not sure
what else to do.
v4: Add missing entry for EOpAbsDifference in
TOutputTraverser::visitBinary. Noticed by JohnK.
Ian Romanick [Thu, 20 Sep 2018 07:58:03 +0000 (00:58 -0700)]
INTEL_shader_integer_functions2: Add basic extension tracking
John Kessenich [Tue, 3 Dec 2019 05:58:21 +0000 (22:58 -0700)]
Merge pull request #2004 from ianromanick/document-other-test-requirements
Update README.md to include other test requirements
Ian Romanick [Mon, 2 Dec 2019 18:53:46 +0000 (10:53 -0800)]
Update README.md to include other test requirements
Knowing this in advance would have saved me some time.
John Kessenich [Sun, 1 Dec 2019 02:35:13 +0000 (19:35 -0700)]
Merge pull request #2001 from mbechard/master
Fix #1981
Malcolm Bechard [Thu, 28 Nov 2019 04:37:16 +0000 (23:37 -0500)]
Fix #1981
Copy over incoming units localSize if it's set, and this->localSize is not set
Also fix overwritting localSizeSpecId if it's already been set.
John Kessenich [Sat, 23 Nov 2019 08:29:02 +0000 (01:29 -0700)]
Fix #1983: __ is okay starting with ES 300, rather than 310.
John Kessenich [Sat, 23 Nov 2019 04:38:36 +0000 (21:38 -0700)]
Merge pull request #1972 from andflo-Arm/master
Fix construction issue for 8 and 16 bit types.
John Kessenich [Fri, 22 Nov 2019 18:07:43 +0000 (11:07 -0700)]
Fix #1987: Use large enough built-in buffer to hold vec4 of maxint-64.
John Kessenich [Fri, 22 Nov 2019 13:24:38 +0000 (06:24 -0700)]
Merge branch 'dj2-install'
John Kessenich [Fri, 22 Nov 2019 08:38:38 +0000 (01:38 -0700)]
Merge pull request #1980 from mattst88/respect-CMAKE_INSTALL_LIBDIR
Respect CMAKE_INSTALL_LIBDIR in installed CMake files
Dan Sinclair [Thu, 21 Nov 2019 15:33:32 +0000 (10:33 -0500)]
Check for ENABLE_SPVREMAPPER flag in CMakeList files.
There is a flag to disable the SPVRemapper during the GLSLang build.
That flag is check in some, but not all spots so if you try to build
with SPVRemapper disabled you get CMake errors and compile errors.
This CL fixs up the build so building with -DENABLE_SPVREMAPPER=0 will
complete correclty.
Arfrever Frehtes Taifersar Arahesis [Mon, 18 Nov 2019 19:11:55 +0000 (11:11 -0800)]
Respect CMAKE_INSTALL_LIBDIR in installed CMake files
Fixes #1965
John Kessenich [Fri, 15 Nov 2019 14:22:44 +0000 (07:22 -0700)]
Merge pull request #1977 from KhronosGroup/no-hlsl-structs
HLSL: Fix #1976: Don't let ENABLE_HLSL change struct/class layout.
John Kessenich [Thu, 14 Nov 2019 10:20:06 +0000 (03:20 -0700)]
HLSL: Fix #1976: Don't let ENABLE_HLSL change struct/class layout.
Andreas Flöjt [Thu, 14 Nov 2019 13:41:52 +0000 (14:41 +0100)]
Add a test for 8- and 16-bit construction.
John Kessenich [Tue, 12 Nov 2019 13:00:51 +0000 (06:00 -0700)]
Merge pull request #1973 from KhronosGroup/fix-fmod-int
HLSL: Fix #1960: fmod() was not converting int args to float.
John Kessenich [Tue, 12 Nov 2019 12:32:51 +0000 (05:32 -0700)]
HLSL: Fix #1960: fmod() was not converting int args to float.
Andreas Flöjt [Mon, 11 Nov 2019 10:30:22 +0000 (11:30 +0100)]
Fix construction issue for 8 and 16 bit types.
The problem is that constructing a float16_t, int8_t, uint8_t, int16_t,
or uint16_t with a non 32-bit argument generates an aggregate with the
wrong construction op. For int8_t and uint8_t, this resulted in a crash.
John Kessenich [Fri, 8 Nov 2019 03:31:16 +0000 (20:31 -0700)]
Merge pull request #1968 from dneto0/reclaim-web-codespace
SPIR-V postprocessing: WEB case only needs CFG mods
John Kessenich [Fri, 8 Nov 2019 03:29:18 +0000 (20:29 -0700)]
Merge pull request #1967 from kainino0x/fix-dot-free
Fix compileGLSLZeroCopy accidental minification
David Neto [Thu, 7 Nov 2019 22:55:22 +0000 (17:55 -0500)]
SPIR-V postprocessing: WEB case only needs CFG mods
The SPIR-V post-processing to discover capabilities and
extensions does not apply to WebGPU compilation. So don't include
that code.
This reclaims some of the code space added by #1943
Kai Ninomiya [Thu, 7 Nov 2019 02:06:00 +0000 (18:06 -0800)]
Fix compileGLSLZeroCopy accidental minification
John Kessenich [Wed, 6 Nov 2019 15:56:22 +0000 (08:56 -0700)]
Merge pull request #1963 from KhronosGroup/revert-7b0e236
Fix #1959 by reverting 7b0e236 to put files in two places.
John Kessenich [Wed, 6 Nov 2019 15:55:59 +0000 (08:55 -0700)]
Merge pull request #1966 from dj2/readme
Add deprecation for SPIRV/ install folder location.
dan sinclair [Wed, 6 Nov 2019 14:50:40 +0000 (09:50 -0500)]
Add deprecation for SPIRV/ install folder location.
This Cl updates the README.md to reference the deprecation date for the
current SPIRV/ install location.
Issue #1964
John Kessenich [Wed, 6 Nov 2019 01:05:42 +0000 (18:05 -0700)]
Fix #1959 by reverting 7b0e236 to put files in two places.
John Kessenich [Tue, 5 Nov 2019 08:05:10 +0000 (01:05 -0700)]
Merge pull request #1961 from zoddicus/fixChromiumRoll
Remove std::move that is breaking chromium roll
Ryan Harrison [Mon, 4 Nov 2019 21:23:11 +0000 (16:23 -0500)]
Remove std::move that is breaking chromium roll
This is causing the following error:
moving a temporary object prevents copy elision
[-Werror,-Wpessimizing-move]
John Kessenich [Mon, 4 Nov 2019 04:34:06 +0000 (21:34 -0700)]
Merge pull request #1953 from null77/gn-add-missing-headers
Add a couple missing headers to the GN build.
John Kessenich [Mon, 4 Nov 2019 04:33:42 +0000 (21:33 -0700)]
Merge pull request #1954 from corporateshark/master
Fix warning: size_t->int implicit cast
John Kessenich [Sun, 3 Nov 2019 06:22:47 +0000 (00:22 -0600)]
Tests: Add more test results for the previous generator version bump.
John Kessenich [Sun, 3 Nov 2019 03:26:40 +0000 (21:26 -0600)]
Bump up the generator version, which is exposed in SPV test results.
Sergey Kosarevsky [Sat, 2 Nov 2019 22:34:54 +0000 (01:34 +0300)]
Fix warning: size_t->int implicit cast
Jamie Madill [Sat, 2 Nov 2019 13:56:09 +0000 (09:56 -0400)]
Add a couple missing headers to the GN build.
Detected with ANGLE's export_targets script.
John Kessenich [Fri, 1 Nov 2019 17:11:42 +0000 (11:11 -0600)]
Merge branch 'dneto0-dead-code'
John Kessenich [Fri, 1 Nov 2019 17:02:55 +0000 (11:02 -0600)]
Merge branch 'dead-code' of https://github.com/dneto0/glslang into dneto0-dead-code
John Kessenich [Fri, 1 Nov 2019 16:51:21 +0000 (10:51 -0600)]
Bump version.
John Kessenich [Fri, 1 Nov 2019 00:28:53 +0000 (18:28 -0600)]
Merge pull request #1949 from corporateshark/master
Add option ENABLE_CTEST to skip testing
David Neto [Mon, 21 Oct 2019 18:50:31 +0000 (14:50 -0400)]
SPIR-V: Aggressively prune unreachable merge, continue target
More aggressively prune unreachable code as follows.
When no control flow edges reach a merge block or continue target:
- delete their contents so that:
- a merge block becomes OpLabel, then OpUnreachable
- a continue target becomes OpLabel, then an OpBranch back to the
loop header
- any basic block which is dominated by such a merge block or continue
target is removed as well.
- decorations targeting the removed instructions are removed.
Enables the SPIR-V builder post-processing step the GLSLANG_WEB case.
Sergey Kosarevsky [Fri, 25 Oct 2019 08:57:11 +0000 (11:57 +0300)]
Add option ENABLE_CTEST to skip testing
John Kessenich [Fri, 25 Oct 2019 02:49:36 +0000 (20:49 -0600)]
Merge pull request #1948 from greg-lunarg/kg108
Update spirv-tools known good.
Greg Fischer [Thu, 24 Oct 2019 16:37:01 +0000 (10:37 -0600)]
Update spirv-tools known good.
John Kessenich [Thu, 24 Oct 2019 04:25:47 +0000 (22:25 -0600)]
Merge pull request #1947 from ehsannas/fix_licenses
Make buildbot licenses consistent with the rest of the code
Ehsan Nasiri [Wed, 23 Oct 2019 19:03:38 +0000 (15:03 -0400)]
Make buildbot licenses consistent with the rest of the code
John Kessenich [Wed, 23 Oct 2019 16:32:16 +0000 (10:32 -0600)]
Merge pull request #1946 from KhronosGroup/extend-web
Web: Extend with compute stage, SSBOs, and atomics on SSBO memory.
David Turner [Wed, 23 Oct 2019 14:07:19 +0000 (16:07 +0200)]
BUILD.gn: Fix fuchsia build (#1944)
The Fuchsia platform build and the Chromium one use a completely
different set of configs to specify default warnings. The previous
version of BUILD.gn worked with Chromium, but failed to build
with Fuchsia.
This CL fixes the issue by identifying said configs and reusing
them consistently.
Change-Id: I7de526a57d2f14eb93c03e06401d2c3059d35e9a
John Kessenich [Mon, 21 Oct 2019 12:55:11 +0000 (06:55 -0600)]
Web: Reclaim more space and make all work w/wo GLSLANG_WEB.
John Kessenich [Fri, 18 Oct 2019 07:03:11 +0000 (01:03 -0600)]
Web: Add basic atomics for SSBOs.
John Kessenich [Thu, 17 Oct 2019 13:08:40 +0000 (07:08 -0600)]
Web: Add SSBOs and a few other missing compute features.
John Kessenich [Thu, 10 Oct 2019 17:40:11 +0000 (11:40 -0600)]
Web: Add compute stage.
John Kessenich [Tue, 8 Oct 2019 07:12:07 +0000 (01:12 -0600)]
Web: Add separate texture/sampler, exclude *CubeArray*.
Looks like will add about 1K compressed size to executable footprint.
Timo Suoranta [Tue, 22 Oct 2019 04:38:04 +0000 (07:38 +0300)]
Enable generation of compile_commands.json (#1938)
David Dubois [Tue, 22 Oct 2019 04:31:44 +0000 (21:31 -0700)]
Fix the exports of glslang-default-resource-limits (#1942)
John Kessenich [Tue, 22 Oct 2019 04:30:13 +0000 (22:30 -0600)]
Merge pull request #1941 from ehsannas/bazel_build
Add Bazel build files and bots for them
Ehsan Nasiri [Fri, 18 Oct 2019 17:49:59 +0000 (13:49 -0400)]
Run tests on Windows too.
Ehsan Nasiri [Fri, 18 Oct 2019 16:25:59 +0000 (12:25 -0400)]
Fix build scripts.
Ehsan Nasiri [Fri, 18 Oct 2019 16:21:11 +0000 (12:21 -0400)]
More cleanups for Windows.
Ehsan Nasiri [Thu, 17 Oct 2019 20:12:43 +0000 (16:12 -0400)]
Add Kokoro bots for building using Bazel.
Ehsan Nasiri [Thu, 17 Oct 2019 19:14:20 +0000 (15:14 -0400)]
Make it work on Windows.
John Kessenich [Thu, 17 Oct 2019 18:12:44 +0000 (12:12 -0600)]
Merge pull request #1937 from jeffbolznv/volatile_atomics
Only apply volatile semantics to atomics when using Vulkan Memory Model
Jeff Bolz [Thu, 17 Oct 2019 16:22:57 +0000 (11:22 -0500)]
Only apply volatile semantics to atomics when using Vulkan Memory Model
Ehsan Nasiri [Wed, 16 Oct 2019 20:55:23 +0000 (16:55 -0400)]
Add Bazel build configuration files.
In order to avoid potential build failures that could arise from
SPIRV-Tools/Headers, and to avoid reading known_good.json, this build
configuration does not build the SPIRV-Tools dependency and hence cannot
perform HLSL compilation to SPIR-V.
John Kessenich [Thu, 17 Oct 2019 02:53:39 +0000 (20:53 -0600)]
Merge pull request #1933 from dj2/runtest
Make runtests configurable.
Dan Sinclair [Wed, 16 Oct 2019 17:08:48 +0000 (13:08 -0400)]
Use commandline options instead of ENV variables
John Kessenich [Wed, 16 Oct 2019 16:39:51 +0000 (10:39 -0600)]
Merge pull request #1932 from zoddicus/anotherSemiColonFix
Fix config issues and revert previous fixes for semi-colon issues
Ryan Harrison [Wed, 16 Oct 2019 15:46:37 +0000 (11:46 -0400)]
Keep code style improvements
John Kessenich [Wed, 16 Oct 2019 15:25:56 +0000 (09:25 -0600)]
Merge pull request #1934 from durswd/master
Added an option to make pch enabled in Cmake
dan sinclair [Wed, 16 Oct 2019 14:45:11 +0000 (10:45 -0400)]
Indenting
dan sinclair [Tue, 15 Oct 2019 23:11:39 +0000 (19:11 -0400)]
Update CMakeLists.txt
Dan Sinclair [Tue, 15 Oct 2019 20:47:28 +0000 (16:47 -0400)]
Move TARGETDIR as well
Dan Sinclair [Tue, 15 Oct 2019 19:21:21 +0000 (15:21 -0400)]
Make runtests configurable.
This CL allows setting the location of glslangValidator and spirv-remap
when calling the runtests script. A test target is added to CMake to
execute runtests and sets the location to the build folder for the two
applications.
Ryan Harrison [Tue, 15 Oct 2019 15:17:53 +0000 (11:17 -0400)]
Fix config issues and revert previous fixes for semi-colon issues
This reverts commit
41261d95a417bb3a121c162154d441433705a237.
This reverts commit
7c9accb6534d4cde050555b8091b434dc7e4d218.
Instead of trying to work around all of the potential semicolon issues
in glslang, making it conform to Chromium's style, mark the code
explicitly as non-chromium in the BUILD.gn, so chromium doesn't
attempt to enforce its style rules on glslang.
Fixes #1931
durswd [Tue, 15 Oct 2019 17:28:40 +0000 (02:28 +0900)]
Added an option to make pch enabled in Cmake