Jason Macnak [Tue, 16 Jul 2019 16:39:54 +0000 (09:39 -0700)]
Update known good SPIRV-Tools commit
Update the known good SPIRV-Tools commit to eventually propagate the
commit allowing the ray tracing stages in pass instrumentation to the
vulkan validation layers (validation layers depends on glslang which
depends on spirv-tools).
John Kessenich [Tue, 16 Jul 2019 01:49:46 +0000 (19:49 -0600)]
Merge pull request #1837 from KhronosGroup/fix-NV_compute_shader_derivatives
ESSL: Fix #1823: Conditions for when derivatives are in compute shader.
John Kessenich [Tue, 16 Jul 2019 01:48:32 +0000 (19:48 -0600)]
Merge pull request #1839 from sparmarNV/fix-NV_mesh_shader
Fix #1818: Allow unsized view array dimension for non-block perviewNV attributes
Sahil Parmar [Mon, 15 Jul 2019 23:05:18 +0000 (16:05 -0700)]
Allow unsized view array dimension for non-block perviewNV attributes
John Kessenich [Mon, 15 Jul 2019 16:55:30 +0000 (10:55 -0600)]
Merge pull request #1824 from KhronosGroup/fix-spec-expr-array-check
SPV: Fix #1783: Don't do bounds checking for spec-const-expression size
John Kessenich [Mon, 15 Jul 2019 13:23:16 +0000 (07:23 -0600)]
Merge pull request #1836 from amdrexu/bugfix
OpIsHelperInvocationEXT should declare relevant SPV extension and capability
John Kessenich [Mon, 15 Jul 2019 07:20:18 +0000 (01:20 -0600)]
ESSL: Fix #1823: Conditions for when derivatives are in compute shader.
Rex Xu [Mon, 15 Jul 2019 06:57:20 +0000 (14:57 +0800)]
OpIsHelperInvocationEXT should declare relevant SPV extension and capability
John Kessenich [Sat, 13 Jul 2019 18:22:10 +0000 (12:22 -0600)]
GLSL: Fix #1833: Don't constant fold integer mix to a float.
John Kessenich [Sat, 13 Jul 2019 00:29:59 +0000 (18:29 -0600)]
Merge pull request #1835 from jmacnak-nv/jmacnak-sample-coverage-capability
spirv: Generate missing SampleMaskOverrideCoverageNV capability op
John Kessenich [Sat, 13 Jul 2019 00:29:13 +0000 (18:29 -0600)]
Merge pull request #1834 from zoddicus/addRTTIFlag
Explicitly remove RTTI in the top-level build config
Jason Macnak [Fri, 12 Jul 2019 21:33:02 +0000 (14:33 -0700)]
spirv: Generate missing SampleMaskOverrideCoverageNV capability op
The SampleMaskOverrideCoverageNV capability should be declared when
gl_SampleMask is used.
Ryan Harrison [Fri, 12 Jul 2019 18:25:18 +0000 (14:25 -0400)]
Explicitly remove RTTI in the top-level build config
Fixes #1831
John Kessenich [Thu, 11 Jul 2019 19:16:09 +0000 (13:16 -0600)]
Merge pull request #1833 from AaronHaganAMD/master
Add support for SPV_KHR_shader_clock
amhagan [Thu, 11 Jul 2019 01:14:38 +0000 (21:14 -0400)]
Add support for SPV_KHR_shader_clock
John Kessenich [Wed, 10 Jul 2019 21:10:30 +0000 (15:10 -0600)]
Merge pull request #1832 from jeffbolznv/issue1828
Avoid generating 8/16-bit constants when 8/16-bit arithmetic extensions aren't enabled
Jeff Bolz [Wed, 10 Jul 2019 18:06:15 +0000 (13:06 -0500)]
Avoid generating 8/16-bit constants when 8/16-bit arithmetic extensions aren't enabled
John Kessenich [Wed, 10 Jul 2019 17:45:48 +0000 (11:45 -0600)]
Merge pull request #1827 from alan-baker/update-spirv-tools
Update spirv tools
John Kessenich [Tue, 9 Jul 2019 06:14:27 +0000 (00:14 -0600)]
Merge pull request #1825 from amdrexu/bugfix
Change implementation of gl_SIMDGroupSizeAMD
Alan Baker [Mon, 8 Jul 2019 18:14:23 +0000 (14:14 -0400)]
Test updates
Alan Baker [Mon, 8 Jul 2019 18:14:13 +0000 (14:14 -0400)]
Update SPIRV-Tools revision
Rex Xu [Sat, 6 Jul 2019 15:40:10 +0000 (23:40 +0800)]
Change implementation of gl_SIMDGroupSizeAMD
John Kessenich [Wed, 3 Jul 2019 15:28:28 +0000 (09:28 -0600)]
SPV: Fix #1783: Don't do bounds checking for spec-const-expression size
It's okay for symbolic spec-consts, but without constant folding,
not okay when the array size is an expression.
John Kessenich [Wed, 3 Jul 2019 07:27:39 +0000 (01:27 -0600)]
HLSL: Fix #1815: Don't constant fold spec-constant array indexing.
John Kessenich [Tue, 2 Jul 2019 17:04:44 +0000 (11:04 -0600)]
Merge pull request #1819 from jeffbolznv/demote
update spirv-headers to pick up demote_to_helper_invocation
Jeff Bolz [Tue, 2 Jul 2019 15:57:48 +0000 (10:57 -0500)]
update spirv-headers to pick up demote_to_helper_invocation
John Kessenich [Tue, 2 Jul 2019 15:32:48 +0000 (09:32 -0600)]
Standalone: Fix #1814: Check that linkage was specified for reflection.
John Kessenich [Tue, 2 Jul 2019 08:20:18 +0000 (02:20 -0600)]
Merge pull request #1817 from jeffbolznv/demote
Implement GL_EXT_demote_to_helper_invocation
John Kessenich [Tue, 2 Jul 2019 07:51:50 +0000 (01:51 -0600)]
Build: Tweak PR #1808 to avoid an implicit conversion warning.
Jeff Bolz [Mon, 1 Jul 2019 14:23:23 +0000 (09:23 -0500)]
Implement GL_EXT_demote_to_helper_invocation
John Kessenich [Wed, 26 Jun 2019 06:53:18 +0000 (00:53 -0600)]
Merge pull request #1811 from ShabbyX/fix
Remove extraneous semicolons
John Kessenich [Wed, 26 Jun 2019 06:52:12 +0000 (00:52 -0600)]
Merge pull request #1812 from ShabbyX/master
Remove __DATE__ and __TIME__ usage
Shahbaz Youssefi [Tue, 25 Jun 2019 16:09:55 +0000 (12:09 -0400)]
Remove __DATE__ and __TIME__ usage
These macros result in a non-deterministic build. In chromium, these
macros are specifically set to empty, resulting in a compile error.
Shahbaz Youssefi [Tue, 25 Jun 2019 16:08:10 +0000 (12:08 -0400)]
Remove extraneous semicolons
They cause a warning (-Wextra-semi) that can lead to a compile error
(-Werror).
John Kessenich [Sun, 23 Jun 2019 15:10:16 +0000 (09:10 -0600)]
Merge pull request #1808 from jeffbolznv/promote_types
Handle all basic scalar types in promoteConstantUnion
Jeff Bolz [Sat, 22 Jun 2019 04:39:05 +0000 (23:39 -0500)]
Add a bunch of missing cases to promoteConstantUnion. Use macros to expand all the cases more simply.
John Kessenich [Sun, 23 Jun 2019 02:45:18 +0000 (20:45 -0600)]
Merge pull request #1807 from digit-google/fuchsia-fixes
BUILD.gn: Fix file for use with Fuchsia platform build.
Jeff Bolz [Sat, 22 Jun 2019 04:27:26 +0000 (23:27 -0500)]
Add test for constant type conversion
David 'Digit' Turner [Fri, 21 Jun 2019 12:58:30 +0000 (14:58 +0200)]
BUILD.gn: Fix file for use with Fuchsia platform build.
In order to upgrade the version of glslang used by the
Fuchsia platform source tree, BUILD.gn needs to be
slightly modified to care about the case where it is
not used with the Chromium //build configuration:
- Remove a new compiler warning to ensure proper
compilation with -Werror (which is the default).
- Add a build target for spirv-remap, which is used
by Fuchsia at build time to optimize the precompiled
shaders of some of its graphics libraries.
John Kessenich [Tue, 18 Jun 2019 08:00:46 +0000 (02:00 -0600)]
Merge pull request #1804 from KhronosGroup/fix-930-subgroup--mask-ops
AST/SPV: Fix #930: translate uvec4 <-> uint64 for SubgroupGeMask et. al.
John Kessenich [Tue, 18 Jun 2019 06:37:51 +0000 (00:37 -0600)]
Bump revision.
John Kessenich [Mon, 17 Jun 2019 14:38:35 +0000 (08:38 -0600)]
AST/SPV: Fix #930: translate uvec4 <-> uint64 for SubgroupGeMask et. al.
On reading built-in variables SubgroupEqMask, SubgroupGeMask, SubgroupGtMask,
SubgroupLeMask, and SubgroupLtMask, the AST expects 64-bit ints, while SPIR-V
is defined as vectors of 32-bit ints.
The declaration type has to be translated in the opposite direction.
John Kessenich [Tue, 18 Jun 2019 06:33:46 +0000 (00:33 -0600)]
Bump revision.
John Kessenich [Tue, 18 Jun 2019 06:26:25 +0000 (00:26 -0600)]
Merge pull request #1806 from KhronosGroup/nan-clamp
SPV: Add a switch for favoring non-NaN operands in min, max, and clamp.
John Kessenich [Tue, 18 Jun 2019 05:42:13 +0000 (23:42 -0600)]
Merge pull request #1698 from jeffbolznv/private_storage_variables
Add Float16/Int8/Int16 capabilities for private variables and function parameters
John Kessenich [Tue, 18 Jun 2019 05:33:09 +0000 (23:33 -0600)]
SPV: Add a switch for favoring non-NaN operands in min, max, and clamp.
John Kessenich [Tue, 18 Jun 2019 04:33:11 +0000 (22:33 -0600)]
Bump revision.
John Kessenich [Mon, 17 Jun 2019 15:16:02 +0000 (09:16 -0600)]
Merge pull request #1803 from Igalia/siglesias/fix-gl_SubGroupSizeARB-tese-geom
Fix gl_SubGroupSizeARB builtin treatment
Samuel Iglesias Gonsálvez [Mon, 17 Jun 2019 13:44:13 +0000 (15:44 +0200)]
Delete duplicated gl_SubGroupSizeARB builtin treatment
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
John Kessenich [Mon, 17 Jun 2019 05:02:02 +0000 (23:02 -0600)]
Merge pull request #1796 from Igalia/siglesias/fix-gl_SubGroupSizeARB-tese-geom
Add missing GL_ARB_shader_ballot builtins to Geometry and Tessellatio…
John Kessenich [Mon, 17 Jun 2019 04:31:16 +0000 (22:31 -0600)]
Merge pull request #1799 from jeffbolznv/volatile_semantics
Add gl_SemanticsVolatile to GL_KHR_memory_scope_semantics, and make volatile-qualified atomics generate MemorySemanticsVolatile when using the Vulkan memory model
Samuel Iglesias Gonsálvez [Wed, 12 Jun 2019 14:42:43 +0000 (16:42 +0200)]
Add missing GL_ARB_shader_ballot builtins to Geometry and Tessellation shaders
When processing Geometry and Tessellation Control/Evaluation shaders,
the builtins defined by GL_ARB_shader_ballot were not processed by
glslang. This specially a problem for gl_SubGroupSizeARB because, it is
treated as shader input instead of uniform on Vulkan.
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Jeff Bolz [Fri, 14 Jun 2019 14:56:28 +0000 (09:56 -0500)]
Add gl_SemanticsVolatile to GL_KHR_memory_scope_semantics, and make volatile-qualified atomics generate MemorySemanticsVolatile when using the Vulkan memory model
John Kessenich [Thu, 13 Jun 2019 15:48:47 +0000 (09:48 -0600)]
Merge pull request #1797 from alan-baker/update-tools
Update tools
Alan Baker [Thu, 13 Jun 2019 12:54:31 +0000 (08:54 -0400)]
Update test expectations for new SPIRV-Tools
Alan Baker [Thu, 13 Jun 2019 12:54:01 +0000 (08:54 -0400)]
Update known good SPIRV-Tools
John Kessenich [Mon, 10 Jun 2019 02:50:07 +0000 (20:50 -0600)]
Merge pull request #1787 from dgkoch/add_sm_builtins
Support GL_NV_shader_sm_builtins
Daniel Koch [Tue, 4 Jun 2019 12:43:32 +0000 (08:43 -0400)]
Add support for GL_NV_shader_sm_builtins
Including spirv and AST tests
Also increase size of TBuiltInVariable bitfields since we've now exceeded 127
and add a static_assert to make this easier to find next time it happens!
John Kessenich [Sat, 8 Jun 2019 10:30:46 +0000 (04:30 -0600)]
GLSL: Revert f6873f7 to fix #1764.
John Kessenich [Sat, 8 Jun 2019 10:04:15 +0000 (04:04 -0600)]
Merge pull request #1794 from jeffbolznv/pre_legalization
Use spvValidatorOptionsSetBeforeHlslLegalization for pre-legalized HLSL
John Kessenich [Sat, 8 Jun 2019 08:06:33 +0000 (02:06 -0600)]
Merge pull request #1793 from greg-lunarg/kg104
Uppdate spirv-tools known-good
Jeff Bolz [Fri, 7 Jun 2019 19:42:08 +0000 (14:42 -0500)]
Use spvValidatorOptionsSetBeforeHlslLegalization for pre-legalized HLSL
Greg Fischer [Thu, 6 Jun 2019 19:18:08 +0000 (13:18 -0600)]
Uppdate spirv-tools known-good
John Kessenich [Wed, 5 Jun 2019 16:37:11 +0000 (10:37 -0600)]
Merge pull request #1791 from dj2/unused
Remove unused parameter
Dan Sinclair [Wed, 5 Jun 2019 15:48:20 +0000 (11:48 -0400)]
Remove unused parameter
John Kessenich [Tue, 4 Jun 2019 15:04:19 +0000 (09:04 -0600)]
Merge pull request #1788 from jeffbolznv/ifdef_fix
Add missing NV_EXTENSIONS ifdef
Jeff Bolz [Tue, 4 Jun 2019 14:47:41 +0000 (09:47 -0500)]
Add missing NV_EXTENSIONS ifdef
John Kessenich [Tue, 4 Jun 2019 09:36:51 +0000 (03:36 -0600)]
Merge pull request #1786 from jeffbolznv/fsi
Support GL_ARB_fragment_shader_interlock
Jeff Bolz [Mon, 3 Jun 2019 16:33:50 +0000 (11:33 -0500)]
Support GL_ARB_fragment_shader_interlock
John Kessenich [Sun, 2 Jun 2019 04:36:55 +0000 (22:36 -0600)]
Merge pull request #1769 from tanderson-google/RemoveInvalidGnSource
Remove glslang.y from gn sources
John Kessenich [Sun, 2 Jun 2019 02:29:59 +0000 (20:29 -0600)]
Merge pull request #1782 from dgkoch/fix_1735
Fix subgroup support for ray tracing
Daniel Koch [Mon, 27 May 2019 20:46:31 +0000 (16:46 -0400)]
Fix subgroup support for ray tracing
Closes #1735
GlslangToSpv.cpp
- minor formatting cleanup
BaseTypes.h
- minor formatting cleanup
- add subgroup builtins to GetBuiltInVariableString
(was resulting in "unknown built-in variable" messages in test output)
Initialize.cpp
- better naming and re-use of strings for subgroup builtin variable declarations
- define subgroup builtin variables in ray-tracing shaders
intermOut.cpp
- add handling of the EOpSubgroupParition* variables
(was resulting in "ERROR: Bad aggregation op" messages in test output)
Update test results.
Daniel Koch [Thu, 30 May 2019 23:40:20 +0000 (19:40 -0400)]
Add AST tests for ray tracing shaders
with subgroup touch tests (error and non-error cases)
Currently the subgroup built-ins are NOT giving the correct output.
This is fixed in the next commit.
Daniel Koch [Thu, 30 May 2019 05:08:41 +0000 (01:08 -0400)]
Add AST tests for mesh and task shaders
with subgroup touch testing (error and non-error cases)
Add missing symbolTable.relateToOperator("subgroupMemoryBarrierShared") call for
Mesh/Task shaders so they don't assert in ParseHelper.cpp
Daniel Koch [Thu, 30 May 2019 04:24:33 +0000 (00:24 -0400)]
Add more subgroup testing
Touch test all subgroup builtins in vert, tesc, tese, geom, frag, compute shaders
before and after enabling extensions to make sure the correct errors are generated
and then not generated (after enablement).
John Kessenich [Fri, 31 May 2019 09:28:07 +0000 (03:28 -0600)]
Merge pull request #1781 from jeffbolznv/issue_1766
Allow runtime-sized arrays of acceleration structures
Jeff Bolz [Thu, 30 May 2019 17:45:15 +0000 (12:45 -0500)]
Allow runtime-sized arrays of acceleration structures
John Kessenich [Wed, 29 May 2019 22:00:31 +0000 (16:00 -0600)]
Merge pull request #1776 from dgkoch/dgkoch_20190525_fixes
Misc fixes from dgkoch
Daniel Koch [Tue, 28 May 2019 19:23:19 +0000 (15:23 -0400)]
Fix include guard for GL_EXT_multiview
Daniel Koch [Tue, 28 May 2019 19:23:10 +0000 (15:23 -0400)]
Return consistent names from CapabilityString
Don't prefix with "Capability" since the majority of them don't.
Also add missing CapabilityImageFootprintNV
John Kessenich [Fri, 24 May 2019 05:35:46 +0000 (23:35 -0600)]
Merge pull request #1772 from mattparks/patch-2
Fixed .dll install on MSVC.
Matthew Albrecht [Fri, 24 May 2019 00:01:57 +0000 (19:01 -0500)]
Fixed .dll install on MSVC.
Tom Anderson [Fri, 17 May 2019 17:54:03 +0000 (10:54 -0700)]
Remove non-source sources from binary targets
No behavior changes. Please see [1] for why this is necessary.
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=964411
John Kessenich [Fri, 17 May 2019 04:05:01 +0000 (11:05 +0700)]
Merge pull request #1768 from ShabbyX/enable-opt
Build.gn: allow optimization in glslang lib and standalone
Shahbaz Youssefi [Fri, 17 May 2019 03:53:15 +0000 (23:53 -0400)]
Build.gn: allow optimization in glslang lib and standalone
John Kessenich [Thu, 16 May 2019 08:26:51 +0000 (15:26 +0700)]
Merge pull request #1767 from dneto0/update-spirv-headers
Update SPIRV-Tools, SPIRV-Headers
David Neto [Thu, 16 May 2019 06:59:54 +0000 (02:59 -0400)]
Update SPIRV-Tools, SPIRV-Headers
Headers update fixes validation of spv.shaderBallotAMD.
John Kessenich [Fri, 10 May 2019 12:47:00 +0000 (06:47 -0600)]
Build: Fix 3 warnings.
John Kessenich [Fri, 10 May 2019 07:19:07 +0000 (14:19 +0700)]
Merge pull request #1761 from KhronosGroup/SPIR-V_1.4
SPV 1.4: Add code generation for SPIR-V 1.4 features
John Kessenich [Fri, 10 May 2019 06:34:10 +0000 (00:34 -0600)]
Bump version and revision.
John Kessenich [Fri, 10 May 2019 05:50:08 +0000 (23:50 -0600)]
SPV 1.4: Move to 1.4 validation, removing all 1.4 validation failures.
John Kessenich [Sun, 31 Mar 2019 16:51:57 +0000 (10:51 -0600)]
SPV 1.4: Emit SignExtend and ZeroExtend for integer image reads/writes.
John Kessenich [Thu, 7 Feb 2019 15:04:12 +0000 (08:04 -0700)]
SPV 1.4: Lookup tables: Use variable initializer and NonWritable...
...when doing a variable lookup on an array of constants.
John Kessenich [Tue, 15 Jan 2019 14:48:27 +0000 (21:48 +0700)]
SPV 1.4: Add support for OpCopyLogical, careful of Boolean differences.
John Kessenich [Sat, 12 Jan 2019 10:31:41 +0000 (17:31 +0700)]
SPV 1.4: Implement the 5 new loop controls.
John Kessenich [Thu, 10 Jan 2019 11:23:06 +0000 (18:23 +0700)]
SPV 1.4: Use OpSelect for trivial typed non-scalar/vector expressions.
John Kessenich [Fri, 4 Jan 2019 10:10:53 +0000 (17:10 +0700)]
SPV 1.4: Add testing infrastructure for SPV 1.4 tests.
This includes the test for the first feature of OpEntryPoint.
John Kessenich [Fri, 4 Jan 2019 09:47:06 +0000 (16:47 +0700)]
SPV 1.4: Generate all globals on OpEntryPoint interface list.
John Kessenich [Fri, 10 May 2019 05:59:37 +0000 (23:59 -0600)]
SPV: Move to the SPIR-V 1.4 header.
John Kessenich [Fri, 10 May 2019 03:39:15 +0000 (10:39 +0700)]
Merge pull request #1765 from KhronosGroup/update-knowngood-tools-SPIR-V_1.4
Latest known-good SPIRV-Tools: WARNING: Needs python 3.x.