3575 Commits

Author SHA1 Message Date
John Kessenich
c3bb5d6914 Update to latest SPIRV-Tools, supporting Vulkan 1.2. 2020-01-15 09:35:48 -07:00
John Kessenich
273d3a5093 SPV/Vulkan: Add support for Vulkan 1.2, which defaults to SPIR-V 1.5. 2020-01-15 00:10:41 -07:00
John Kessenich
d203754bc1
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
2020-01-10 10:19:24 -07:00
John Kessenich
5181367062
Merge pull request #1998 from ShchchowAMD/ARB_gpu_shader_fp64
Add support for ARB_gpu_shader_fp64
2020-01-08 06:18:44 -07:00
John Kessenich
e5dbc3114c
Merge pull request #2052 from KhronosGroup/fix-processed-def-undef-1829
Fix #1829: Allow "--" options for def/undef, for OpModuleProcessed.
2020-01-08 02:21:34 -07:00
John Kessenich
6f98892dd1 Fix #1829: Add "--" command-line options for macro def/undef.
This allows OpModuleProcessed logging to be consistent with everything taking
"--" options.
2020-01-08 01:28:45 -07:00
Chow
ab6a58801f Move symbol builtin check to grammar stage
FYI, move builtin check to type symbol check.
Avoid modifying interface doubleCheck().
2020-01-08 14:07:50 +08:00
John Kessenich
1642ca1128
Merge pull request #2048 from Roy-AMD/Add-missing-extension-defination
Add missing extension defination
2020-01-07 01:32:53 -07:00
Roy
3eb540fbe7 Add missing extension defination
This micro should been defined 1, if opengl 2.0 is required.
2020-01-07 14:55:51 +08:00
John Kessenich
1d258ac346
Merge pull request #2032 from ShchchowAMD/atomic-uint-binding
Modify max binding checks for atomic_uint
2020-01-06 23:49:23 -07:00
John Kessenich
40801e31ed
Merge pull request #2050 from ShchchowAMD/built_in_MaxVector
Add builtin constants gl_MaxFragmentUniformVectors and gl_MaxVertexUniformVectors.
2020-01-06 09:21:33 -07:00
John Kessenich
8db9eccc0b Bump revision 2020-01-06 07:50:40 -07:00
Chow
ac6b7cf581 Add builtin constants
Add builtin constants:

gl_MaxFragmentUniformVectors and gl_MaxVertexUniformVectors.
They should both be available since version 410 for core.
2020-01-06 15:53:20 +08:00
Chow
a3c7a25e10 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.
2020-01-06 11:08:20 +08:00
Roy
05a5b53208 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.
2020-01-03 16:30:37 +08:00
John Kessenich
6334d594f6
Merge pull request #1997 from ShchchowAMD/ARB_uniform_buffer_object
Add support for ARB_uniform_buffer_object
2019-12-29 21:33:41 -07:00
John Kessenich
930403e5b3
Merge branch 'master' into ARB_uniform_buffer_object 2019-12-29 21:32:41 -07:00
John Kessenich
18fb7f24b8
Merge pull request #1996 from ShchchowAMD/ARB_texture_multisample
Add support for ARB_texture_multisample
2019-12-29 20:19:39 -07:00
John Kessenich
c674299ddb
Merge pull request #2036 from ShchchowAMD/fix_atomic_uint_offset_check
atomic counter offset should align to 4 (compute shader)
2019-12-29 19:49:16 -07:00
John Kessenich
01aee059f5
Merge pull request #1995 from ShchchowAMD/ARB_sample_shading_support
Add support for ARB_sample_shading
2019-12-29 19:35:18 -07:00
John Kessenich
5de15a256e HLSL: Fix #2037: Integer dot used incorrect input for adds. 2019-12-26 10:56:54 -07:00
Chow
5db058c020 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
2019-12-25 17:27:45 +08:00
Chow
891ec09c62 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.
2019-12-25 17:08:48 +08:00
Chow
97c4c0936f 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
2019-12-23 16:30:12 +08:00
Chow
a8f9886cc6 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
2019-12-23 15:37:04 +08:00
Chow
78b1180466 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
2019-12-23 14:34:38 +08:00
John Kessenich
bd97b6f9f2 Command-line: Give better error messages. From #1829. 2019-12-20 10:33:13 -07:00
John Kessenich
ebf634bcaa
Merge pull request #2023 from greg-lunarg/kg109
Update spriv-tools known good
2019-12-12 22:28:57 -07:00
Greg Fischer
85122e7051 Update spriv-tools known good 2019-12-12 11:15:42 -07:00
John Kessenich
6c479796f6
Merge pull request #2021 from KhronosGroup/fix-2020-inconsistent-HLSL
Fix #2020: PR #1977 broke HLSL member consistency, this fixes it.
2019-12-10 00:36:41 -07:00
John Kessenich
1843c0c415 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.
2019-12-09 23:48:50 -07:00
John Kessenich
1afa2b8cc5
Merge pull request #2019 from KhronosGroup/fix-2014-dont-and-versions-extensions
Fix: #2014: Don't do "extension-on && version >= ..." keyword checks.
2019-12-09 10:18:17 -07:00
John Kessenich
ff61c18f1b
Merge pull request #2018 from KhronosGroup/fix-2007-rationalize-include-paths
Fix #2007: Fix a couple relative header paths in header files.
2019-12-09 08:10:38 -07:00
John Kessenich
71b0100ae9 Fix: #2014: Don't do "extension-on && version >= ..." keyword checks.
Keywords should only have tests like "extension-on || version >= ...", or
"extension-off && version <= ...".
2019-12-09 04:34:09 -07:00
John Kessenich
b5d9dee710 Fix #2007: Fix a couple relative header paths in header files. 2019-12-09 03:12:10 -07:00
John Kessenich
d519167d2e Fix #1993: Fully exclude ftransform() from SPIR-V semantics. 2019-12-09 01:35:14 -07:00
John Kessenich
0de87ee9a5
Merge pull request #2010 from rnk/pool-alloc-clang
Remove glslang::pool_allocator::setAllocator
2019-12-04 19:24:16 -07:00
Reid Kleckner
24b3e8384e 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.
2019-12-04 14:09:03 -08:00
John Kessenich
e58c080d4f
Merge pull request #1990 from ianromanick/INTEL_shader_integer_functions2
Implement INTEL_shader_integer_functions2
2019-12-03 20:07:08 -07:00
Ian Romanick
b3bd402c7c INTEL_shader_integer_functions2: Add SPIR-V generation
v2: Move addCapability and addExtension extension calls from
TGlslangToSpvTraverser::createBinaryOperation to
TGlslangToSpvTraverser::visitAggregate.  Suggested by JohnK.
2019-12-03 11:06:41 -08:00
Ian Romanick
fbcdcac254 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.
2019-12-03 11:06:34 -08:00
Ian Romanick
e0da415dff INTEL_shader_integer_functions2: Add basic extension tracking 2019-12-03 10:54:22 -08:00
John Kessenich
a4af7676fe
Merge pull request #2004 from ianromanick/document-other-test-requirements
Update README.md to include other test requirements
2019-12-02 22:58:21 -07:00
Ian Romanick
9216e8cf16 Update README.md to include other test requirements
Knowing this in advance would have saved me some time.
2019-12-02 10:53:46 -08:00
John Kessenich
83af469512
Merge pull request #2001 from mbechard/master
Fix #1981
2019-11-30 19:35:13 -07:00
Malcolm Bechard
dd9e570db6 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.
2019-11-27 23:37:16 -05:00
John Kessenich
38b4db48f9 Fix #1983: __ is okay starting with ES 300, rather than 310. 2019-11-23 01:29:02 -07:00
John Kessenich
86258aab80
Merge pull request #1972 from andflo-Arm/master
Fix construction issue for 8 and 16 bit types.
2019-11-22 21:38:36 -07:00
John Kessenich
8b5853d4f9 Fix #1987: Use large enough built-in buffer to hold vec4 of maxint-64. 2019-11-22 11:11:03 -07:00
John Kessenich
e01c847a70 Merge branch 'dj2-install' 2019-11-22 06:24:38 -07:00