Commit Graph

3221 Commits

Author SHA1 Message Date
John Kessenich
0c1e71a123 SPV 1.4: Use OpSelect for trivial typed non-scalar/vector expressions. 2019-05-10 00:02:45 -06:00
John Kessenich
cfea59d357 SPV 1.4: Add testing infrastructure for SPV 1.4 tests.
This includes the test for the first feature of OpEntryPoint.
2019-05-10 00:02:45 -06:00
John Kessenich
7c7731ecbb SPV 1.4: Generate all globals on OpEntryPoint interface list. 2019-05-10 00:02:45 -06:00
John Kessenich
2dd4ab3a4a SPV: Move to the SPIR-V 1.4 header. 2019-05-09 23:59:37 -06:00
John Kessenich
04aa79d0ed
Merge pull request #1765 from KhronosGroup/update-knowngood-tools-SPIR-V_1.4
Latest known-good SPIRV-Tools: WARNING: Needs python 3.x.
2019-05-10 10:39:15 +07:00
John Kessenich
6fef1ca6f9 Latest known-good SPIRV-Tools: WARNING: Needs python 3.x.
You may need to install python 3.x and also
[windows users] may need to get it in your path in front of python 2.7.x.

If you don't need the external projects (i.e., SPIRV-Tools) and don't want
to upgrade to python 3, don't create the External subdirectory and CMake
won't require python 3.  (CMake has a bug that makes it find the wrong one
on a first pass if the top level does not require the version needed by
lower levels.)
2019-05-09 10:11:54 -06:00
John Kessenich
c11e3156af Bump revision. 2019-05-09 02:11:28 -06:00
John Kessenich
c2c5a3d973
Merge pull request #1762 from jeffbolznv/issue1760
For nonuniformEXT constructor, make a copy of the node to decorate
2019-05-09 15:09:31 +07:00
Jeff Bolz
88220d507e For nonuniformEXT constructor, make a copy of the node to decorate 2019-05-08 10:24:46 -05:00
John Kessenich
e291f7a09f
Merge pull request #1739 from jeffbolznv/buffer_reference2
Add support for GL_EXT_buffer_reference2
2019-05-08 17:12:52 +07:00
John Kessenich
f88e5824d2
Merge pull request #1755 from amdrexu/bugfix
Fix issues of explicit conversions.
2019-05-03 23:11:26 +07:00
John Kessenich
c0640dabfd
Merge pull request #1758 from jeffbolznv/convertonly
If a shader's only use of float16 is for FConvert, add the Float16 capability
2019-05-03 21:44:41 +07:00
John Kessenich
5cb2fa2ad2 Fix #1759: Check for specialization constants when literals required. 2019-05-03 08:40:35 -06:00
Jeff Bolz
758c93364c Add support for GL_EXT_buffer_reference2 2019-05-01 16:13:26 -05:00
Jeff Bolz
faac86e5d6 If a shader's only use of float16 is for FConvert, add the Float16 capability.
When visiting instructions, check that there are no 16-bit storage capabilities
and add the Float16 capability. Same for int8/int16.
2019-05-01 11:45:51 -05:00
Rex Xu
d932cc4295 Fix issues of explicit conversions.
For certain int8/int16/float16 conversions,they are conditionally allowed
when extensions defining explicit arithmetic types are enabled.
2019-04-25 10:37:57 +08:00
John Kessenich
86c72c9486 Bump revision. 2019-04-19 05:00:32 -06:00
John Kessenich
f6873f7e49 GLSL: Add error check for an argument dropping the 'restrict' qualifier 2019-04-19 04:57:43 -06:00
John Kessenich
08d61df040 Fix #1720: Give an error for parameter mismatched image format. 2019-04-19 04:51:07 -06:00
John Kessenich
0e5d1bb66a clang-format correction and typo (clang format likely not complete)
This was added some time ago, but I suspect largely unused.
Christoph pointed out of few contradictions to actual convention,
so that's fixed. But, I suspect it is largely incomplete.
2019-04-19 00:13:43 -06:00
John Kessenich
805b09f922
Merge pull request #1753 from pixeljetstream/ckubischnv_dumpbuiltins
introduce ability to dump builtin symbol table
2019-04-17 21:52:34 +07:00
Christoph Kubisch
83318018e6 improve formating 2019-04-17 10:49:53 +02:00
Christoph Kubisch
aa4e527781 revert typeName from getCompleteString() (breaks tests), add to function dump instead 2019-04-16 13:28:49 +02:00
Christoph Kubisch
4b1dfc56b1 improve formating 2019-04-16 10:00:28 +02:00
Christoph Kubisch
8a0e12a107 TType::getCompleteString insert optional structure name 2019-04-16 09:50:48 +02:00
Christoph Kubisch
b84a520492 minor improvements to formating 2019-04-15 13:37:12 +02:00
Christoph Kubisch
412ff6ea6a minor naming cleanup 2019-04-13 22:57:33 +02:00
Christoph Kubisch
55ba3eaf89 introduce new --dump-builtin-symbols command line
add corresponding EShMsgBuiltinSymbolTable
TSymbol::dump functions have option to do "complete" print
bugfix in TType::getCompleteString, structure can be null for block
2019-04-13 22:18:16 +02:00
John Kessenich
0527c9db81
Merge pull request #1752 from dgkoch/dkoch_build_fix18
Add cstdlib include
2019-04-08 21:28:26 +07:00
Daniel Koch
0aea3106e2 Add cstdlib include
On some platforms some of the includers of this header don't have
'atoi' defined after the change in #1749
2019-04-06 07:43:17 -04:00
John Kessenich
e06c7e9a51
Merge pull request #1750 from greg-lunarg/kg103
Update spirv-tools known-good
2019-04-05 10:42:03 +07:00
Greg Fischer
2d0095f2fd Update spirv-tools known-good 2019-04-04 10:19:55 -06:00
John Kessenich
3416d48b59 Update to latest SPIR-V header and bump revision. 2019-04-04 09:38:26 -06:00
John Kessenich
1240db678c
Merge pull request #1749 from dgkoch/dgkoch_common_mscver
Check if _MSC_VER is defined before using.
2019-04-04 14:29:31 +07:00
Daniel Koch
8b2f96d3fe Check if _MSC_VER is defined before using.
Fixes compilation errors on some platforms.
2019-04-03 17:21:06 -04:00
John Kessenich
ef807f4bc5
Merge pull request #1746 from karl-lunarg/gtest-install
build: Don't ship GTEST headers in install target
2019-04-03 16:08:17 +07:00
Karl Schultz
1d1fd88554 build: Don't ship GTEST headers in install target
A project that uses googletest(GTEST) shouldn't include googletest
headers with its artifacts in its install target.  These headers
simply are not needed by the consumers of the install target and
can cause conflicts with other projects that use googletest
themselves and this project's install target.  And they are just not
part of the expected glslang build artifacts.

It is likely that the addition of the googletest headers to the install
target was a simple oversight that happens as a result of adding
googletest as a CMake subdirectory.

For more information on how this causes conflicts with other projects,
please see: https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/821.
2019-04-02 14:58:25 -06:00
John Kessenich
e0d59bbe18
Merge pull request #1742 from greg-lunarg/kg102
Update spirv-tools known-good
2019-03-28 09:28:43 +07:00
Greg Fischer
9d92945df3 Update spirv-tools known-good 2019-03-27 11:43:03 -06:00
John Kessenich
137e071ca4
Merge pull request #1740 from ewerness-nv/callableincoming
Callables shouldn't have incoming ray flags
2019-03-27 16:19:05 +07:00
John Kessenich
5125eb58db
Merge pull request #1741 from dgkoch/shader_subgroup
Enable GL_KHR_shader_subgroup properly
2019-03-27 13:41:47 +07:00
Daniel Koch
83170e3f7a Enable GL_KHR_shader_subgroup properly
(and GL_NV_shader_subgroup_partitioned) based on GL/ES version
instead of predicating it on vulkan SPV generation

Also add AST testing.
The glsl.450.subgroup* files are largely the same as the spv.subgroup*
The glsl.es320.subgroup* files are the same as the 450 versions, but modified to be ES compatible.
2019-03-26 13:45:33 -04:00
Eric Werness
659060b90a Callables shouldn't have incoming ray flags 2019-03-25 17:09:13 -07:00
John Kessenich
5efb004d59
Merge pull request #1711 from demett-brcm/avoid-undefined-behaviour
Avoid undefined behaviour
2019-03-19 14:40:21 +07:00
Laurie
e442a03897 GLSL: Fix tessellation control shader bounding box support. (#1730)
Prior to this change, OES_primitive_bounding_box and EXT_primitive_bounding_box were both recognised as extensions, but only the name gl_BoundingBoxOES could be used. However the EXT version uses the name gl_BoundingBoxEXT instead. In addition, since GLES 3.2, the extension has been included in the core standard and the name gl_BoundingBox may be used instead. This change aims to make both extensions and the 3.2 core version all work.
2019-03-19 08:49:27 +07:00
John Kessenich
bd0f5ad278
Merge pull request #1733 from null77/fix-msvc-warn
Suppress MSVC warning about unused variable.
2019-03-18 23:41:27 +07:00
John Kessenich
49dff5bf9a
Merge pull request #1731 from godlikepanos/master
Avoid running the validator as part of the optimization pass.
2019-03-18 23:38:27 +07:00
Jamie Madill
099a80dd76 Suppress MSVC warning about unused variable.
One variable was only used in an 'assert' call. MSVC flagged this
as unused in Release. Suppress the warning and also add a static
cast to void so the variable becomes referenced.
2019-03-18 11:38:53 -04:00
Panagiotis Christopoulos Charitos
35aeb042a2 Avoid running the validator as part of the optimization pass.
The spvtools::Optimizer::Run method glslang is using constructs a default set
of spvtools::OptimizerOptions. This default set of options instructs the
validator to run. That is not quite correct since glslang will invoke the
validator _explicitly_ after the optimization pass.

Change-Id: I30f458304c6e7f81e89fc4ebd25eabbbd8348063
2019-03-18 11:34:17 +01:00
John Kessenich
b184e41a06 Build: Update to the most recent SPIR-V headers, for Rev. 7 of SPV 1.3 2019-03-17 22:29:25 -06:00