3582 Commits

Author SHA1 Message Date
Roy.li
48bc10b79f
Merge pull request #8 from KhronosGroup/master
Merge code
2020-01-21 11:22:30 +08:00
John Kessenich
b0ada80356 HLSL: Fix #1974: ignore input primitives on non-entry-point functions. 2020-01-17 00:14:51 -07:00
John Kessenich
3ed344dd78 Fix #2059, and also attempt to skip test bots [skip ci] 2020-01-16 00:52:28 -07:00
John Kessenich
9e9099cdf8
Merge pull request #2033 from ShchchowAMD/binding_contradictory
Add Error check flag in io mapper
2020-01-16 00:23:03 -07:00
Chow
8a914f4293 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
2020-01-16 13:29:40 +08:00
John Kessenich
4fc7a33910
Merge pull request #2058 from KhronosGroup/vulkan-1.2
SPV/Vulkan: Add support for Vulkan 1.2, which defaults to SPIR-V 1.5.
2020-01-15 10:48:58 -07:00
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
Roy.li
4200c91666
Merge pull request #7 from KhronosGroup/master
Sync code from glslang base repo
2019-12-18 15:21:32 +08: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