3972 Commits

Author SHA1 Message Date
Bas Nieuwenhuizen
c9ffeec6e3 SPV: Add NonUniform decoration for constructors.
This is missing in particular for OpSampledImage, which can be
a direct argument for texture operations.
2020-09-10 23:02:54 +02:00
Bas Nieuwenhuizen
58064311be SPV: Add NonUniform decoration for OpImages created during lowering.
By directly creating the OpImage instructions we were not propagating
the appropriate decorations.

Since this had a lot of cases I centralized the OpImage creation
a bit too.
2020-09-10 23:02:54 +02:00
Bas Nieuwenhuizen
de949a2afc SPV: Add NonUniform decorations for stores.
The direct pointer argument to stores has to use
the NonUniform decoration but we were not using
qualifiers at all to decorate the NonUniform pointer.

(Test fixes by Greg Fischer <greg@lunarg.com>)
2020-09-10 23:02:29 +02:00
John Kessenich
517f39eee4
Merge pull request #2380 from null77/suppress-override-warnings
Suppress two override suggestion warnings.
2020-08-26 12:17:42 -06:00
Jamie Madill
bb52b5e452 Suppress two override suggestion warnings.
We're turning these on in ANGLE and want to keep the build clean.
2020-08-26 00:54:50 -04:00
johnkslang
983698bb34 Revert "Merge pull request #2371 from RafaelMarinheiro/master"
This reverts commit f257e0ea6b9aeab2dc7af3207ac6d29d2bbc01d0, reversing
changes made to 8f0c6bd7732331186b66118d4613cd0dc7076de4.
2020-08-23 01:31:49 -06:00
John Kessenich
9f9360d295
Merge pull request #2375 from juliusikkala/master
Obey ENABLE_PCH CMake option
2020-08-23 00:43:18 -06:00
Julius Ikkala
b357badc02 Obey ENABLE_PCH CMake option 2020-08-21 18:49:17 +03:00
John Kessenich
f257e0ea6b
Merge pull request #2371 from RafaelMarinheiro/master
Use --test-root to pass files to Bazel tests.
2020-08-17 04:04:32 -06:00
John Kessenich
8f0c6bd773
Merge pull request #2369 from ezdiy/c_api_export
GLSLANG_EXPORT for C APIs.
2020-08-17 03:02:44 -06:00
johnkslang
758b30727e Build: fix a build warning 2020-08-14 19:39:28 -06:00
Rafael Marinheiro
89cd45cc6e Use --test-root to pass files to Bazel tests.
The current implementation makes tests fail when it is imported from a
different Bazel workspace. We fix that by using
the --test-root flag to pass the rootpath to the
tests.
2020-08-14 22:00:58 +01:00
John Kessenich
5bfb42301a
Merge pull request #2367 from KhronosGroup/fix-semantic-checking
Remove incorrect style of extension-based semantic checking.
2020-08-14 09:41:18 -06:00
johnkslang
01384725c2 Fix #2366, fix #2358, correctly separate out numerical feature checking
We need separate concepts for
 - total set of extensions ever enabled, for the back end
 - current state of extensions, for parsing
 - the set of features currently enabled for building the AST
2020-08-14 08:40:06 -06:00
johnkslang
7d66a5d4be Non-functional (almost): Refactor when 'extensionRequested' is called.
This detangles incorrect conflation of HLSL with GLSL extensions,
defers asking expensive questions until it's time to ask, and removes
some dead code.
2020-08-14 02:26:26 -06:00
johnkslang
bdf9e647f5 Non-functional: Remove reinventing the scalar type, note code issues
The scalar type was already the basic type passed in.

Also factored out of this the checking of extensions for 8/16-bit stuff.
This code seems wrong in several ways, but for now just documenting it.
2020-08-14 01:53:44 -06:00
johnkslang
b58f308ba4 Non-functional: spellings of "destinaton" and "addPairConversion" 2020-08-13 05:08:06 -06:00
John Kessenich
d253278f98
Merge pull request #2370 from alan-baker/update-tools
Update tools
2020-08-12 11:24:59 -06:00
Alan Baker
157fe5f8fb Update test expectations 2020-08-12 09:04:56 -04:00
Alan Baker
fe1168750e Update SPIRV-Tools and SPIRV-Headers known good 2020-08-12 09:04:24 -04:00
Ez Diy
1fde85ab96 GLSLANG_EXPORT for C APIs.
Fixes FFI breakage introduced in #2283
2020-08-10 22:26:41 +02:00
johnkslang
d8daeb4323 Non-functional: correctly do GL_EXT_buffer_reference2 semantic checking
See #2366 for detail.
2020-08-07 02:26:04 -06:00
johnkslang
6c37bbbb03 Non-functional: consistently use 'const TSourceLoc&' to pass location. 2020-08-06 05:24:24 -06:00
johnkslang
b60e067b43 SPV: Fix #1829: don't emit OpModuleProcessed use-storage-buffer 2020-08-06 01:34:14 -06:00
John Kessenich
695e1de831
Merge pull request #2365 from KhronosGroup/update-gtests
Build/Test: Dropping VS 2013 allows using the latest googletests
2020-08-05 11:45:39 -06:00
johnkslang
23f3bdfea1 Build/Test: Dropping 2013 allows using the latest googletests.
These have a new spelling: INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P
2020-08-05 11:07:07 -06:00
johnkslang
2de6d657dd SPV: Standalone; sanity check the client GLSL input semantics option value. 2020-08-04 07:17:39 -06:00
johnkslang
a1a497ffe7 SPV: Use more correct SPV-Tools environment, partially addressing #2290 2020-08-04 03:00:32 -06:00
johnkslang
f881f08358 SPV: Fix #2363: include trailing newline named text SPV output. 2020-08-04 02:13:50 -06:00
John Kessenich
5743eed4d1
Merge pull request #2362 from ShabbyX/optimize_for_angle
Use GLSLANG_ANGLE to strip features to what ANGLE requires
2020-08-03 01:28:52 -06:00
John Kessenich
928b7b26bd
Merge pull request #2361 from ben-clayton/revert-thread-local
Revert changes that migrate to `thread_local`.
2020-08-03 00:12:02 -06:00
Shahbaz Youssefi
1ef2e250fc
Use GLSLANG_ANGLE to strip features to what ANGLE requires
This change strips a few features similar to GLSLANG_WEB but doesn't
remove every detail like the latter.  It also hardcodes profile/version
to core/450.

In particular, TBuiltIns::initialize is specialized to remove most of
what is not supported or won't be supported by ANGLE.  The result of
this function is parsed with TParseContext::parseShaderStrings which is
a performance bottleneck.

This change shaves about 300KB off of ANGLE's binary size and reduces
the cost of SetupBuiltinSymbolTable to nearly a sixth.

Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>
2020-07-31 12:44:49 -04:00
Ben Clayton
2a44064885 Revert changes that migrate to thread_local.
iOS 8 does not support `thread_local`, which is still in use.
Another approach will have to be found.

This change is a revert of the following changes:

a3845240 - "Simplify PoolAlloc with use of thread_local."
abf92c80 - "Deprecate InitializeDll functions"
33585c87 - "Limit visibility of symbols for internal libraries"

Issue: #2346
2020-07-31 07:13:24 +01:00
John Kessenich
7ab4564696
Merge pull request #2359 from dneto0/fix-warn
Avoid spurious warning about uninit var
2020-07-28 08:39:26 -06:00
David Neto
01f2de512a Avoid spurious warning about uninit var 2020-07-27 15:33:56 -04:00
John Kessenich
3ee5f2f1d3
Merge pull request #2356 from greg-lunarg/kg112
Update spirv-tools known-good to most recent stable
2020-07-23 08:51:27 +07:00
Greg Fischer
8b96a01a6a Update spirv-tools known-good to most recent stable 2020-07-22 15:10:04 -06:00
John Kessenich
7923b3e3d9
Merge pull request #2353 from vkushwaha-nv/SPV_EXT_shader_atomic_float
Add changes for SPV_EXT_shader_atomic_float_add
2020-07-22 22:06:01 +07:00
Vikram Kushwaha
79b93923d2 Add changes for SPV_EXT_shader_atomic_float_add 2020-07-22 05:52:22 -07:00
John Kessenich
9165cbb4f4
Merge pull request #2354 from ben-clayton/limit-visibility
Limit visibility of symbols for internal libraries
2020-07-22 17:46:44 +07:00
Ben Clayton
33585c871d Limit visibility of symbols for internal libraries
Also remove `SPIRV/doc.cpp` from the `SPVRemapper` target as this
is part of `SPIRV`, causing ODR violations. Instead have
`SPVRemapper` link against `SPIRV`.

Fixes ODR violations.
2020-07-22 10:53:50 +01:00
John Kessenich
11fa4d0d56
Merge pull request #2348 from ben-clayton/thread-local
Simplify PoolAlloc by using `thread_local`
2020-07-22 11:47:06 +07:00
John Kessenich
1c42d4ee7b
Merge pull request #2345 from mbechard/master
also search global sequences for live variables
2020-07-22 11:15:24 +07:00
johnkslang
c63502cf67 SPV: Update to the latest SPIR-V headers. 2020-07-21 21:05:25 -06:00
Ben Clayton
abf92c80b9 Deprecate InitializeDll functions
These were only used for TThreadPool, which now uses `thread_local`.
2020-07-21 09:40:34 +01:00
Ben Clayton
a3845240ae Simplify PoolAlloc with use of thread_local.
glslang is using C++ 11, which has first class support for variables of the `thread_local` storage class.

By dropping the use of the `OS_[GS]etTLSValue`, we can simplify the logic, and have it support a thread-local default allocator if none is provided.

Issue: #2346
2020-07-21 09:40:34 +01:00
John Kessenich
b99a6a7273
Merge pull request #2352 from ben-clayton/vs2015
Finalize glslang 10.15.3847, start glslang 11, drop support for VS2013
2020-07-21 10:55:12 +07:00
Malcolm Bechard
5727fb313e also search global variables assignment for live variables
when traversing the AST to find live UBOs etc, also traverse
references to global module-level variables, incase they are
being filled in from UBOs etc.
2020-07-20 18:43:00 -04:00
Ben Clayton
c487d0feaa Drop support for VS2013
This was scheduled for today - 20th July 2020.

Updates Appveyor configs to use VS2015 instead.
2020-07-20 18:50:06 +01:00
Ben Clayton
70860c284e Start glslang 11.0.0 2020-07-20 16:39:42 +01:00