John Kessenich [Thu, 24 Jan 2019 01:26:19 +0000 (17:26 -0800)]
Merge pull request #1672 from sparmarNV/NV-extension-checks
Add extension checks for NV block member builtins
John Kessenich [Thu, 24 Jan 2019 01:24:45 +0000 (17:24 -0800)]
Merge pull request #1671 from null77/fix-chrome-clang-warning
Suppress inconsistent override warning in GN.
Sahil Parmar [Thu, 24 Jan 2019 00:24:32 +0000 (16:24 -0800)]
Add extension checks for NV block member builtins
Jamie Madill [Wed, 23 Jan 2019 23:56:43 +0000 (18:56 -0500)]
Suppress inconsistent override warning in GN.
This came up when trying to roll the new glslang into Chromium.
ANGLE bug: 3088
John Kessenich [Wed, 23 Jan 2019 20:05:22 +0000 (12:05 -0800)]
Merge pull request #1626 from KhronosGroup/extension-support
Infrastructure: Generalize and broaden per-variable extension checking.
John Kessenich [Tue, 22 Jan 2019 02:22:49 +0000 (18:22 -0800)]
Merge pull request #1664 from null77/support-angle
Fix a few GN build issues.
Hodgman [Tue, 22 Jan 2019 02:21:11 +0000 (13:21 +1100)]
HLSL: Protect against some crashes
John Kessenich [Sun, 20 Jan 2019 15:43:06 +0000 (08:43 -0700)]
Merge pull request #1663 from jeffbolznv/reference_vs_memorymodel
More precisely check for the qualifiers that enable the vulkan memory model for buffer references.
Jeff Bolz [Sun, 20 Jan 2019 06:59:17 +0000 (00:59 -0600)]
More precisely check for the qualifiers that enable the vulkan memory model for buffer references.
Not all memory qualifiers necessarily need the vulkan memory model, e.g. volatile/restrict that correspond to core SPIR-V features do not.
Jamie Madill [Fri, 18 Jan 2019 19:53:31 +0000 (14:53 -0500)]
Fix a few GN build issues.
* adds a source set for default resource limits to mirror CMake
* adds a target executable for the standalone validator
* fixes a missing warning
Allows ANGLE to use the integrated BUILD.gn instead of a custom one.
ANGLE bug: 3088
John Kessenich [Fri, 18 Jan 2019 04:53:34 +0000 (21:53 -0700)]
Merge pull request #1656 from amdrexu/bugfix
Fix xfb_stride incorrectness(#1654)
John Kessenich [Wed, 16 Jan 2019 23:29:41 +0000 (06:29 +0700)]
Merge pull request #1662 from dneto0/fix-leak2
HLSL: Avoid leaking a shadow sampler struct
John Kessenich [Wed, 16 Jan 2019 22:29:31 +0000 (05:29 +0700)]
Merge pull request #1661 from dneto0/fix-leak
Avoid leaking name for counter buffer
David Neto [Wed, 16 Jan 2019 21:55:03 +0000 (16:55 -0500)]
HLSL: Avoid leaking a shadow sampler struct
David Neto [Wed, 16 Jan 2019 15:44:31 +0000 (10:44 -0500)]
Avoid leaking name for counter buffer
John Kessenich [Wed, 16 Jan 2019 14:27:25 +0000 (21:27 +0700)]
Merge pull request #1658 from KhronosGroup/fix-name-loc-str
HLSL: Fix #1655; use "" for nullptr file names
John Kessenich [Wed, 16 Jan 2019 09:07:51 +0000 (16:07 +0700)]
HLSL: Fix #1655; use "" for nullptr file names. Needs test cases.
John Kessenich [Wed, 16 Jan 2019 07:55:37 +0000 (14:55 +0700)]
Build: fix warnings. Fixes #1653.
Rex Xu [Mon, 14 Jan 2019 03:40:51 +0000 (11:40 +0800)]
Fix xfb_stride incorrectness(#1654)
Add int64 support in XFB. Change containsDouble to contains64BitType. Make
it more general.
John Kessenich [Fri, 11 Jan 2019 08:07:04 +0000 (15:07 +0700)]
Bump revision.
John Kessenich [Fri, 11 Jan 2019 07:55:36 +0000 (14:55 +0700)]
Merge pull request #1652 from gnl21/cmake-fix
Work around a CMake cross-compilation issue
John Kessenich [Thu, 10 Jan 2019 02:33:44 +0000 (19:33 -0700)]
Merge pull request #1647 from dneto0/update-known-good
Update SPIRV-Tools known good: relax Uconvert check
David Neto [Wed, 9 Jan 2019 15:32:32 +0000 (10:32 -0500)]
Update SPIRV-Tools known good: relax Uconvert check
Permit UConvert as an OpSpecConstantOp operation when
SPV_AMD_gpu_shader_int_16 is used.
John Kessenich [Wed, 12 Dec 2018 00:42:35 +0000 (17:42 -0700)]
Infrastructure: Generalize and broaden per-variable extension checking.
John Kessenich [Wed, 9 Jan 2019 13:01:21 +0000 (06:01 -0700)]
Merge pull request #1646 from dneto0/parens-warning
Parenthesize to avoid GCC warning
David Neto [Tue, 8 Jan 2019 23:57:03 +0000 (18:57 -0500)]
Parenthesize to avoid GCC warning
John Kessenich [Tue, 8 Jan 2019 02:39:32 +0000 (09:39 +0700)]
Merge pull request #1645 from KhronosGroup/dupe-accelstruct
Don't output duplicate OpTypeAccelerationStructureNV declarations
John Kessenich [Tue, 8 Jan 2019 01:25:35 +0000 (08:25 +0700)]
Merge pull request #1644 from jeffbolznv/buffer_reference
GL_EXT_buffer_reference
Piers Daniell [Mon, 7 Jan 2019 21:17:44 +0000 (14:17 -0700)]
Don't output duplicate TypeAccelerationStructureNV declarations
Jeff Bolz [Sun, 6 Jan 2019 23:58:04 +0000 (17:58 -0600)]
GL_EXT_buffer_reference
John Kessenich [Mon, 7 Jan 2019 16:48:11 +0000 (23:48 +0700)]
SPV: Move to the latest header.
dan sinclair [Mon, 7 Jan 2019 16:47:37 +0000 (11:47 -0500)]
Make sure source strings are terminated (#1641)
* Make sure source strings are terminated
The source strings may or may not have a null terminator. We need to
make sure we add one before outputting the source strings as we iterate
over the c-str looking for the null terminator.
* Review feedback
John Kessenich [Fri, 4 Jan 2019 00:11:46 +0000 (07:11 +0700)]
Merge pull request #1643 from dneto0/update-issue-1642
Mark spv.int16.amd.frag.out as failing validation
David Neto [Thu, 3 Jan 2019 19:29:44 +0000 (14:29 -0500)]
Mark spv.int16.amd.frag.out as failing validation
See #1642
Also updates SPIRV-Tools and SPIRV-Headers known_good.
Graeme Leese [Thu, 3 Jan 2019 17:56:07 +0000 (17:56 +0000)]
Work around a CMake cross-compilation issue
CMake can't correctly configure the latest code because of an issue with
cross-compilation of pthreads:
https://gitlab.kitware.com/cmake/cmake/issues/16920
John Kessenich [Sun, 30 Dec 2018 00:44:50 +0000 (17:44 -0700)]
Merge pull request #1634 from greg-lunarg/lines10
Create separate OpSource for each included file when compiling -g
Greg Fischer [Thu, 6 Dec 2018 18:13:15 +0000 (11:13 -0700)]
Create separate OpSource for each included file
John Kessenich [Tue, 18 Dec 2018 17:38:32 +0000 (10:38 -0700)]
Merge pull request #1627 from greg-lunarg/lines8
Add passes to spirv-opt passes to preserve source line info when compiling -g.
John Kessenich [Tue, 18 Dec 2018 17:33:39 +0000 (10:33 -0700)]
Merge pull request #1633 from akien-mga/cmake-2.8-pthread
CMake: Fix linking pthread of CMake < 3.1
Rémi Verschelde [Tue, 18 Dec 2018 10:43:09 +0000 (11:43 +0100)]
CMake: Fix linking pthread of CMake < 3.1
As reported in #1624, Ubuntu 14.04 LTS still uses CMake 2.8.12 which
does not support the Threads::Threads target (added in CMake 3.1).
This could be reverted once the required CMake version is bumped to 3.1+.
John Kessenich [Tue, 18 Dec 2018 00:49:05 +0000 (17:49 -0700)]
Merge pull request #1632 from alan-baker/mem-model-1610
Move memory model scope tests to Vulkan 1.1 batch
Alan Baker [Mon, 17 Dec 2018 22:07:55 +0000 (17:07 -0500)]
Move memory model scope tests to Vulkan 1.1 batch
Fixes #1610
* Updated expected result due to version change
John Kessenich [Mon, 17 Dec 2018 21:00:43 +0000 (14:00 -0700)]
Build: Make calling argument types match declared parameter types.
Fixes #1630 and fixes #1631.
Greg Fischer [Wed, 28 Nov 2018 18:10:27 +0000 (11:10 -0700)]
Add passes to legalization to preserve source line info when generated.
John Kessenich [Sat, 15 Dec 2018 03:30:39 +0000 (20:30 -0700)]
Merge pull request #1628 from jeffbolznv/storagebuffer_sbt
Fix bug where shaderRecordNV buffers were using StorageBuffer storage class
Jeff Bolz [Sat, 15 Dec 2018 02:59:53 +0000 (20:59 -0600)]
Fix bug where shaderRecordNV buffers were using StorageBuffer storage class
John Kessenich [Fri, 14 Dec 2018 17:47:35 +0000 (10:47 -0700)]
Licensing. Fixes #958. Add licenes file and update copyrights.
John Kessenich [Fri, 14 Dec 2018 01:43:02 +0000 (18:43 -0700)]
Build: Reduce warnings.
John Kessenich [Thu, 13 Dec 2018 19:06:12 +0000 (12:06 -0700)]
GLSL/SPV: XFB: No streams on types, but support them on built-in blocks.
From internal Khronos discussions, work, and testing.
John Kessenich [Thu, 13 Dec 2018 01:18:25 +0000 (18:18 -0700)]
Merge pull request #1625 from jeffbolznv/update_spirv_tools
Update to newest SPIRV-Tools, emit default Binding decoration.
Jeff Bolz [Wed, 12 Dec 2018 02:53:59 +0000 (20:53 -0600)]
Update to newest SPIRV-Tools. It checks the Vulkan rule that all resources must have a set and binding decoration, which many tests fail. So add code to set a default value of zero. Also disable PCH for Ninja builds.
John Kessenich [Mon, 10 Dec 2018 23:47:05 +0000 (16:47 -0700)]
Infrastructure: Fix .gitattributes typo eof -> eol. Also update README
Add to README: git config --global core.fileMode false
John Kessenich [Mon, 10 Dec 2018 22:37:21 +0000 (15:37 -0700)]
Merge pull request #1620 from akien-mga/unix-executable-bit
Remove Unix executable permission from text files
John Kessenich [Mon, 10 Dec 2018 15:46:53 +0000 (08:46 -0700)]
Merge pull request #1624 from akien-mga/osdependent-link-threads
CMake: Link OSDependent with Threads::Threads
Rémi Verschelde [Mon, 10 Dec 2018 13:26:54 +0000 (14:26 +0100)]
CMake: Link OSDependent with Threads::Threads
Would typically be pthreads.
Without this, '-Wl,--no-undefined' would output these errors:
/usr/bin/ld: OSDependent/Unix/libOSDependent.a(ossource.cpp.o): in function `glslang::OS_CleanupThreadData()':
/home/akien/Mageia/Sandbox/_rpm/BUILD/glslang-7.10.2984/glslang/OSDependent/Unix/ossource.cpp:83: undefined reference to `__pthread_register_cancel'
/usr/bin/ld: /home/akien/Mageia/Sandbox/_rpm/BUILD/glslang-7.10.2984/glslang/OSDependent/Unix/ossource.cpp:93: undefined reference to `__pthread_unregister_cancel'
/usr/bin/ld: OSDependent/Unix/libOSDependent.a(ossource.cpp.o): in function `glslang::OS_AllocTLSIndex()':
/home/akien/Mageia/Sandbox/_rpm/BUILD/glslang-7.10.2984/glslang/OSDependent/Unix/ossource.cpp:122: undefined reference to `pthread_key_create'
/usr/bin/ld: OSDependent/Unix/libOSDependent.a(ossource.cpp.o): in function `glslang::OS_SetTLSValue(void*, void*)':
/home/akien/Mageia/Sandbox/_rpm/BUILD/glslang-7.10.2984/glslang/OSDependent/Unix/ossource.cpp:137: undefined reference to `pthread_setspecific'
/usr/bin/ld: OSDependent/Unix/libOSDependent.a(ossource.cpp.o): in function `glslang::OS_FreeTLSIndex(void*)':
/home/akien/Mageia/Sandbox/_rpm/BUILD/glslang-7.10.2984/glslang/OSDependent/Unix/ossource.cpp:162: undefined reference to `pthread_key_delete'
/usr/bin/ld: OSDependent/Unix/libOSDependent.a(ossource.cpp.o): in function `glslang::InitGlobalLock()':
/home/akien/Mageia/Sandbox/_rpm/BUILD/glslang-7.10.2984/glslang/OSDependent/Unix/ossource.cpp:175: undefined reference to `pthread_mutexattr_init'
/usr/bin/ld: /home/akien/Mageia/Sandbox/_rpm/BUILD/glslang-7.10.2984/glslang/OSDependent/Unix/ossource.cpp:176: undefined reference to `pthread_mutexattr_settype'
/usr/bin/ld: OSDependent/Unix/libOSDependent.a(ossource.cpp.o): in function `glslang::OS_GetTLSValue(void*)':
/home/akien/Mageia/Sandbox/_rpm/BUILD/glslang-7.10.2984/glslang/OSDependent/Unix/ossource.cpp:149: undefined reference to `pthread_getspecific'
Rémi Verschelde [Mon, 10 Dec 2018 09:48:55 +0000 (10:48 +0100)]
Remove Unix executable permission from text files
John Kessenich [Sat, 8 Dec 2018 01:40:14 +0000 (18:40 -0700)]
Merge branch 'ClemensRognerSD-dx9-sampler'
John Kessenich [Sat, 8 Dec 2018 01:38:26 +0000 (18:38 -0700)]
Manually merge ClemensRognerSD-dx9-sampler and resolve conflicts.
greg-lunarg [Sat, 8 Dec 2018 00:36:33 +0000 (17:36 -0700)]
SPV: Fix #1575, fix #1593: Support HLSL #line
SPIR-V OpLines now contain filenames from HLSL-style #lines.
John Kessenich [Fri, 7 Dec 2018 21:10:06 +0000 (14:10 -0700)]
Merge pull request #1614 from alan-baker/test-updates
Update test infrastructure
Alan Baker [Tue, 4 Dec 2018 15:43:23 +0000 (10:43 -0500)]
Modify testing to only record validation pass/fail
* Changed unit tests to only record known the validation pass/fail
status
* errors are output as part of the failure message if the result is
unexpected
* can turn off validation for each test individually
* Moved some SPV_KHR_vulkan_memory_model tests to be compiled for Vulkan
1.1
John Kessenich [Tue, 4 Dec 2018 06:21:15 +0000 (23:21 -0700)]
Merge pull request #1613 from alegal-arm/types
Rename GL_KHX_shader_explicit_arithmetic_types to GL_EXT_shader_expli…
Alexander Galazin [Mon, 3 Dec 2018 12:16:59 +0000 (13:16 +0100)]
Rename GL_KHX_shader_explicit_arithmetic_types to GL_EXT_shader_explicit_arithmetic_types
John Kessenich [Thu, 29 Nov 2018 17:43:25 +0000 (10:43 -0700)]
Merge pull request #1602 from Igalia/apinheiro/prevent-xfbstride-twice
GlslangToSpv: prevent add XfbStride twice
Alejandro Piñeiro [Thu, 25 Oct 2018 10:49:33 +0000 (12:49 +0200)]
GlslangToSpv: prevent add XfbStride twice
Without this commit, if the XfbStride was explicitly set, the
decoration was added twice on the shader.
v2 (changes after Jonh Kessenich first review)
* Simplified by just removing the firs assignment
* Removed assert
John Kessenich [Thu, 29 Nov 2018 09:32:46 +0000 (02:32 -0700)]
Merge pull request #1603 from KhronosGroup/uint-array-length
SPV: Generate OpArrayLength with no signedness.
John Kessenich [Thu, 29 Nov 2018 07:37:16 +0000 (00:37 -0700)]
Bump version.
John Kessenich [Wed, 28 Nov 2018 14:01:37 +0000 (07:01 -0700)]
SPV: For GLSL only, bitcast OpArrayLength result back to int.
This makes the rest of the AST consuming the result match GLSL
semantics and hence get complete type matching.
John Kessenich [Wed, 28 Nov 2018 02:42:19 +0000 (19:42 -0700)]
Merge pull request #1606 from dj2/ndk_build
Add NDK build files
John Kessenich [Tue, 27 Nov 2018 16:19:10 +0000 (09:19 -0700)]
SPV: Generate OpArrayLength with no signedness.
dan sinclair [Mon, 26 Nov 2018 21:27:55 +0000 (16:27 -0500)]
Add NDK build files
John Kessenich [Tue, 27 Nov 2018 14:45:52 +0000 (07:45 -0700)]
Build: Fix build warnings introduced by 2173c6.
Also bump version for recent changes.
John Kessenich [Tue, 27 Nov 2018 14:17:10 +0000 (07:17 -0700)]
Merge pull request #1567 from Igalia/apinheiro/xfb-1535
ParseHelper: assign global XfbBuffer to a block missing it
John Kessenich [Tue, 27 Nov 2018 13:41:36 +0000 (06:41 -0700)]
Merge pull request #1595 from dgkoch/EXT_fragment_invocation_density
Implement GL_EXT_fragment_invocation_density
John Kessenich [Tue, 27 Nov 2018 10:53:28 +0000 (03:53 -0700)]
Merge pull request #1597 from sheredom/add_conversion_folding
Add conversion folding when the source is a constant.
John Kessenich [Mon, 26 Nov 2018 17:53:24 +0000 (10:53 -0700)]
Merge pull request #1598 from alan-baker/geo-xfb-caps
Update known good SPIRV tools and headers
Alan Baker [Mon, 26 Nov 2018 16:24:22 +0000 (11:24 -0500)]
Update known good SPIRV tools and headers
* Fixes use of optimizer
* Updated test outputs
* GeometryStreams and TransformFeedback no longer fail validation
Daniel Koch [Mon, 26 Nov 2018 15:01:58 +0000 (10:01 -0500)]
Implement GL_EXT_fragment_invocation_density
including SPV generation using SPV_EXT_fragment_invocation_density.
This is an alias of the functionality in SPV_NV_shading_rate, and thus in some
cases we can only have one set of the tokens present (switch statements), so
we have picked the EXT version. This required updating the expected test
results for SPV_NV_shading_rate.
Also updated the known-good for spirv-headers so that the validator in
spirv-tools knows about the new extension.
John Kessenich [Mon, 26 Nov 2018 13:34:38 +0000 (06:34 -0700)]
SPV: non-functional: update to latest headers.
Neil Henning [Mon, 26 Nov 2018 10:17:33 +0000 (10:17 +0000)]
Add conversion folding when the source is a constant.
This change adds unary conversion folding when the source is a constant.
This fixes an ISV issue whereby:
```
const float16_t f = float16_t(42.0);
```
Wouldn't compile because the conversion operator would always produce an
EvqTemporary when it could have produced an EvqConst.
I've also added a test case that proves out that all basic-type to
basic-type conversions work.
John Kessenich [Sun, 25 Nov 2018 06:13:25 +0000 (23:13 -0700)]
Merge pull request #1592 from KhronosGroup/subgroupBroadcast-const-id
GLSL: Fix #1591: Require the id in subgroupBroadcast to be constant.
John Kessenich [Wed, 21 Nov 2018 21:43:18 +0000 (14:43 -0700)]
GLSL: Fix #1591: Require the id in subgroupBroadcast to be constant.
John Kessenich [Fri, 16 Nov 2018 21:41:13 +0000 (14:41 -0700)]
Merge pull request #1587 from dneto0/update-known-good
Update to newer SPIRV-Tools, including VK_EXT_scalar_block_layout
David Neto [Fri, 16 Nov 2018 21:04:23 +0000 (16:04 -0500)]
Update to newer SPIRV-Tools, including VK_EXT_scalar_block_layout
Validator has more refined messages about what kind of block layout
rules have been applied.
John Kessenich [Fri, 16 Nov 2018 17:02:18 +0000 (10:02 -0700)]
Bump minor version.
John Kessenich [Fri, 16 Nov 2018 16:57:59 +0000 (09:57 -0700)]
Merge branch 'jeffbolznv-scalar_block_layout'
John Kessenich [Fri, 16 Nov 2018 16:57:33 +0000 (09:57 -0700)]
Merge branch 'scalar_block_layout' of https://github.com/jeffbolznv/glslang into jeffbolznv-scalar_block_layout
John Kessenich [Fri, 16 Nov 2018 06:43:35 +0000 (23:43 -0700)]
Move to next SPIRV-Tools known good.
John Kessenich [Thu, 15 Nov 2018 22:07:28 +0000 (15:07 -0700)]
GLSL: Increase supported sizes of XBF strides and offsets.
John Kessenich [Thu, 15 Nov 2018 18:29:12 +0000 (11:29 -0700)]
Merge pull request #1583 from TiemoJung/fix_dot_int
[HLSL/Spir-V] fix for incorrect spir-v on int dot(int, int)
John Kessenich [Thu, 15 Nov 2018 17:37:21 +0000 (10:37 -0700)]
Bump revision.
John Kessenich [Thu, 15 Nov 2018 16:57:43 +0000 (09:57 -0700)]
Update to latest SPIR-V Tools.
t.jung [Thu, 15 Nov 2018 09:21:36 +0000 (10:21 +0100)]
[HLSL/Spir-V] fix for incorrect spir-v on int dot(int, int)
Decomposes OpDot into corresponding multiplies and additions.
John Kessenich [Wed, 14 Nov 2018 18:40:45 +0000 (11:40 -0700)]
Merge pull request #1579 from TiemoJung/handle_c_register
HLSL: implemented c register handling
John Kessenich [Wed, 14 Nov 2018 18:39:22 +0000 (11:39 -0700)]
Merge pull request #1580 from TiemoJung/float1_times_scalar_fix
HLSL: fix invalid spir-v vector * scalar for float1
John Kessenich [Wed, 14 Nov 2018 18:35:22 +0000 (11:35 -0700)]
Merge pull request #1577 from TiemoJung/fix_broken_type_system
Updated type conversion rules for HLSL frontend
Jeff Bolz [Wed, 14 Nov 2018 15:30:53 +0000 (09:30 -0600)]
Implement GL_EXT_scalar_block_layout
t.jung [Wed, 14 Nov 2018 12:04:39 +0000 (13:04 +0100)]
HLSL: fix invalid spir-v vector * scalar for float1
Missing check for float results in always emitting OpIMul even for float types
t.jung [Wed, 14 Nov 2018 11:59:18 +0000 (12:59 +0100)]
HLSL: implemented c register handling
Adjusted a test not to use c register for
a structured buffer, they are supposed to
use t registers
Added comments with hints for what are the
register types are used for.
t.jung [Tue, 13 Nov 2018 16:11:03 +0000 (17:11 +0100)]
Updated type conversion rules for HLSL frontend