John Kessenich [Sat, 9 Feb 2019 05:59:30 +0000 (12:59 +0700)]
Merge pull request #1684 from baldurk/reflection-interface-improve
Opt-in improvements to reflection interface
baldurk [Fri, 8 Feb 2019 10:48:48 +0000 (10:48 +0000)]
Reflow for better readability
John Kessenich [Fri, 8 Feb 2019 06:56:53 +0000 (23:56 -0700)]
Bump version.
John Kessenich [Fri, 8 Feb 2019 06:28:37 +0000 (23:28 -0700)]
Build: Fix #1665: remove __fastcall
John Kessenich [Fri, 8 Feb 2019 04:34:47 +0000 (11:34 +0700)]
Merge pull request #1693 from sparmarNV/fix-NV_mesh_shader
Add missing support for gl_MeshViewCountNV/gl_MeshViewIndicesNV in task shaders
Sahil Parmar [Thu, 7 Feb 2019 22:28:12 +0000 (14:28 -0800)]
Add missing support for gl_MeshViewCountNV/gl_MeshViewIndicesNV in task shaders
John Kessenich [Thu, 7 Feb 2019 03:27:58 +0000 (10:27 +0700)]
Merge pull request #1692 from alan-baker/update-spvtools
Update SPIRV-Tools and tests expectations
Alan Baker [Wed, 6 Feb 2019 19:18:19 +0000 (14:18 -0500)]
Update expected test results
Alan Baker [Wed, 6 Feb 2019 19:17:51 +0000 (14:17 -0500)]
Update SPIRV-Tools version
baldurk [Wed, 30 Jan 2019 15:34:02 +0000 (15:34 +0000)]
Add option to reflect all block members, inactive or active.
* The stages mask is more fine-grained, and each variable or block's mask
indicates which stages it's active in.
baldurk [Wed, 30 Jan 2019 14:18:43 +0000 (14:18 +0000)]
Add option to reflect buffer blocks & variables separately to uniforms
* Also note the uniform indices of atomic counter buffers
baldurk [Tue, 29 Jan 2019 19:10:56 +0000 (19:10 +0000)]
Reflect array stride, top-level array stride, and block member count
baldurk [Tue, 29 Jan 2019 16:04:44 +0000 (16:04 +0000)]
Reflect pipeline outputs as well as inputs, optionally from other stages
* We add an option to reflect inputs from other stages than vertex, if only a
later subset of the stages is linked into the program.
baldurk [Tue, 29 Jan 2019 15:49:00 +0000 (15:49 +0000)]
Add an option to report array variables with trailing [0] suffix
* This is as expected by ARB_program_interface_query
baldurk [Tue, 29 Jan 2019 12:12:59 +0000 (12:12 +0000)]
Include array index in reflected uniform names more consistently
* This comes from the resolution of issues 4, 5 & 6 in
ARB_program_interface_query, stating that uniform buffers should have their
members expanded out as normal and arrays should have elements added.
* If a buffer block has a large array e.g. [10000] we don't want to iterate over
every array element. Instead we should only expand out the first [0] element,
then expand as normal from there.
* The array name should still be appended with [0] to indicate that it's an
array.
baldurk [Tue, 29 Jan 2019 15:45:56 +0000 (15:45 +0000)]
Add options to control how reflection information is built
baldurk [Tue, 29 Jan 2019 15:30:48 +0000 (15:30 +0000)]
Move TObjectReflection into public interface to clean up reflection
* Forwarding functions are left to preserve source compatibility with code using
the old queries.
John Kessenich [Sun, 3 Feb 2019 16:22:21 +0000 (23:22 +0700)]
Merge pull request #1687 from Igalia/apinheiro/no-more-struct-member-offsets
ParseHelper: don't assign xfb_offset for struct members
John Kessenich [Sun, 3 Feb 2019 16:05:42 +0000 (23:05 +0700)]
Merge pull request #1667 from amdrexu/bugfix
Add 8-bit/16-bit transform feedback support for future use
Rex Xu [Mon, 21 Jan 2019 08:50:17 +0000 (16:50 +0800)]
Add 8-bit/16-bit transform feedback support for future use
John Kessenich [Sun, 3 Feb 2019 03:32:33 +0000 (10:32 +0700)]
Merge pull request #1690 from BinaryRK/relative-include-fix
Use relative include paths in StandAlone/ResourceLimits.h
BinaryRK [Sat, 2 Feb 2019 13:56:09 +0000 (15:56 +0200)]
Switch to relative include path for ResourceLimits
John Kessenich [Fri, 1 Feb 2019 14:28:20 +0000 (06:28 -0800)]
Merge pull request #1688 from mattparks/patch-1
Switched to std::string for TReflection and TObjectReflection
John Kessenich [Fri, 1 Feb 2019 11:07:45 +0000 (04:07 -0700)]
Fix #1682: flesh out more vulkan/SPV ModuleProcessed
John Kessenich [Fri, 1 Feb 2019 07:27:01 +0000 (23:27 -0800)]
Merge pull request #1686 from mspang/glslang-fuchsia-build
Port Unix/ossource.cpp to Fuchsia
John Kessenich [Fri, 1 Feb 2019 06:44:19 +0000 (22:44 -0800)]
Merge pull request #1685 from baldurk/warning-fix
Fix a couple of warnings clang found
John Kessenich [Fri, 1 Feb 2019 06:43:32 +0000 (22:43 -0800)]
Merge pull request #1683 from null77/disable-extra-semi
Disable Clang extra semicolon warning.
Matthew Albrecht [Fri, 1 Feb 2019 04:51:50 +0000 (22:51 -0600)]
Switched to std::string for TReflection and TObjectReflection
In MSVC 2017 Debug mode when a reflection is deleted (when a shader goes out of scope) xutility will fail to clear the children due to the TString allocator implementation. By switching to std::string xutility no longer throws the error.
Alejandro Piñeiro [Thu, 31 Jan 2019 15:45:15 +0000 (16:45 +0100)]
ParseHelper: don't assign xfb_offset for struct members
This commit undoes the code on the commit "ParseHelper: assign
xfb_offset for struct members too" (commit
af8c1bdb161e4b2ddf019b61bdfca61f84cb1ca8), except the method renaming,
and updates the tests.
During the review of the implementation of Vulkan extension
VK_EXT_transform_feedback for the Linux Intel driver, it was pointed
that the Vulkan environment spec for SPIR-V only ever refers to block
or block members being decorated. It would be strange to not do the
same for OpenGL (ARB_gl_spirv). That would also fit better to what
GLSL does, where setting explicit xfb offsets for struct members is
not allowed.
FWIW, the original patch was proposed based on the fact that
ARB_gl_spirv is relying on OpenGL for how xfb offsets should be
assigned to members, and it was not clear (at least to me) which is
the responsible of such.
Michael Spang [Wed, 30 Jan 2019 20:11:42 +0000 (15:11 -0500)]
Port Unix/ossource.cpp to Fuchsia
Fuchsia has pthreads but doesn't have sys/resource.h and doesn't
implement pthread_cleanup_push().
ANGLE bug: 2475
baldurk [Wed, 30 Jan 2019 17:29:31 +0000 (17:29 +0000)]
Add missing override specifiers in virtual class
baldurk [Wed, 30 Jan 2019 17:29:17 +0000 (17:29 +0000)]
Fix mismatched integer comparison (size_t/unsigned int vs int)
Jamie Madill [Wed, 30 Jan 2019 16:37:15 +0000 (11:37 -0500)]
Disable Clang extra semicolon warning.
Usually this warning is disabled by default. But when turned on Clang
complains about extra semicolons in Glslang headers. Turn this off for
now. See http://crbug.com/926235
John Kessenich [Wed, 30 Jan 2019 03:03:11 +0000 (19:03 -0800)]
Merge pull request #1675 from nicebyte/ext_yuv_target
Add support for GL_EXT_YUV_target
John Kessenich [Tue, 29 Jan 2019 23:00:42 +0000 (16:00 -0700)]
Build: Remove extra commas in calling INSTANTIATE_TEST_SUITE_P.
Hopefully, this fixes the sudden new breakage with the bots.
John Kessenich [Tue, 29 Jan 2019 21:20:05 +0000 (13:20 -0800)]
Merge pull request #1681 from baldurk/reflection-fixes
Reflection consistency changes & bugfixes
nicebyte [Thu, 24 Jan 2019 20:12:20 +0000 (12:12 -0800)]
Add support for GL_EXT_YUV_target
baldurk [Tue, 29 Jan 2019 13:52:33 +0000 (13:52 +0000)]
Update reflection offset consistently for structure members
* Previously the offset was only updated with EOpIndexDirectStruct, but we also
need to update it for the other index types into arrays, and when expanding an
aggregate reached after dereferencing.
baldurk [Tue, 29 Jan 2019 12:49:14 +0000 (12:49 +0000)]
Add missing initialisation of counterIndex and stages in badReflection()
John Kessenich [Tue, 29 Jan 2019 05:19:43 +0000 (22:19 -0700)]
HLSL: Fix #1679: Add HLSL earlydepthstencil -> SPV EarlyFragmentTests.
John Kessenich [Fri, 25 Jan 2019 20:08:11 +0000 (12:08 -0800)]
Merge pull request #1677 from greg-lunarg/kg100
Update spirv-tools known-good.
Greg Fischer [Fri, 25 Jan 2019 18:11:27 +0000 (11:11 -0700)]
Update spirv-tools known-good.
John Kessenich [Fri, 25 Jan 2019 18:02:42 +0000 (10:02 -0800)]
Merge pull request #1676 from nsubtil/nsubtil/do-not-cache-lib-suffix
build: Do not cache debug library suffix
Nuno Subtil [Fri, 25 Jan 2019 17:30:37 +0000 (09:30 -0800)]
build: Do not cache debug library suffix
For nested project builds, writing CMAKE_DEBUG_POSTFIX into the cache
ends up affecting other projects. Caching this value doesn't seem to be
required in practice, so this change removes the cache tag.
John Kessenich [Thu, 24 Jan 2019 17:48:54 +0000 (09:48 -0800)]
Merge pull request #1674 from null77/fix-msvc-sign-warning
Suppress a MSVC cast warning in GN.
Jamie Madill [Thu, 24 Jan 2019 15:55:41 +0000 (10:55 -0500)]
Suppress a MSVC cast warning in GN.
Also came up when using the BUILD.gn file with ANGLE.
ANGLE bug: 3088
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