platform/upstream/glslang.git
5 years agoHLSL: Protect against some crashes
Hodgman [Tue, 22 Jan 2019 02:21:11 +0000 (13:21 +1100)]
HLSL: Protect against some crashes

5 years agoMerge pull request #1663 from jeffbolznv/reference_vs_memorymodel
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.

5 years agoMore precisely check for the qualifiers that enable the vulkan memory model for buffe...
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.

5 years agoMerge pull request #1656 from amdrexu/bugfix
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)

5 years agoMerge pull request #1662 from dneto0/fix-leak2
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

5 years agoMerge pull request #1661 from dneto0/fix-leak
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

5 years agoHLSL: Avoid leaking a shadow sampler struct
David Neto [Wed, 16 Jan 2019 21:55:03 +0000 (16:55 -0500)]
HLSL: Avoid leaking a shadow sampler struct

5 years agoAvoid leaking name for counter buffer
David Neto [Wed, 16 Jan 2019 15:44:31 +0000 (10:44 -0500)]
Avoid leaking name for counter buffer

5 years agoMerge pull request #1658 from KhronosGroup/fix-name-loc-str
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

5 years agoHLSL: Fix #1655; use "" for nullptr file names. Needs test cases.
John Kessenich [Wed, 16 Jan 2019 09:07:51 +0000 (16:07 +0700)]
HLSL: Fix #1655; use "" for nullptr file names. Needs test cases.

5 years agoBuild: fix warnings. Fixes #1653.
John Kessenich [Wed, 16 Jan 2019 07:55:37 +0000 (14:55 +0700)]
Build: fix warnings. Fixes #1653.

5 years agoFix xfb_stride incorrectness(#1654)
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.

5 years agoBump revision.
John Kessenich [Fri, 11 Jan 2019 08:07:04 +0000 (15:07 +0700)]
Bump revision.

5 years agoMerge pull request #1652 from gnl21/cmake-fix
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

5 years agoMerge pull request #1647 from dneto0/update-known-good
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

5 years agoUpdate 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.

5 years agoMerge pull request #1646 from dneto0/parens-warning
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

5 years agoParenthesize to avoid GCC warning
David Neto [Tue, 8 Jan 2019 23:57:03 +0000 (18:57 -0500)]
Parenthesize to avoid GCC warning

5 years agoMerge pull request #1645 from KhronosGroup/dupe-accelstruct
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

5 years agoMerge pull request #1644 from jeffbolznv/buffer_reference
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

5 years agoDon't output duplicate TypeAccelerationStructureNV declarations
Piers Daniell [Mon, 7 Jan 2019 21:17:44 +0000 (14:17 -0700)]
Don't output duplicate TypeAccelerationStructureNV declarations

5 years agoGL_EXT_buffer_reference
Jeff Bolz [Sun, 6 Jan 2019 23:58:04 +0000 (17:58 -0600)]
GL_EXT_buffer_reference

5 years agoSPV: Move to the latest header.
John Kessenich [Mon, 7 Jan 2019 16:48:11 +0000 (23:48 +0700)]
SPV: Move to the latest header.

5 years agoMake sure source strings are terminated (#1641)
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

5 years agoMerge pull request #1643 from dneto0/update-issue-1642
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

5 years agoMark 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.

5 years agoWork around a CMake cross-compilation issue
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

5 years agoMerge pull request #1634 from greg-lunarg/lines10
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

5 years agoCreate separate OpSource for each included file
Greg Fischer [Thu, 6 Dec 2018 18:13:15 +0000 (11:13 -0700)]
Create separate OpSource for each included file

5 years agoMerge pull request #1627 from greg-lunarg/lines8
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.

5 years agoMerge pull request #1633 from akien-mga/cmake-2.8-pthread
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

5 years agoCMake: 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+.

5 years agoMerge pull request #1632 from alan-baker/mem-model-1610
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

5 years agoMove 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

5 years agoBuild: Make calling argument types match declared parameter types.
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.

5 years agoAdd passes to legalization to preserve source line info when generated.
Greg Fischer [Wed, 28 Nov 2018 18:10:27 +0000 (11:10 -0700)]
Add passes to legalization to preserve source line info when generated.

5 years agoMerge pull request #1628 from jeffbolznv/storagebuffer_sbt
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

5 years agoFix 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

5 years agoLicensing. Fixes #958. Add licenes file and update copyrights.
John Kessenich [Fri, 14 Dec 2018 17:47:35 +0000 (10:47 -0700)]
Licensing. Fixes #958. Add licenes file and update copyrights.

5 years agoBuild: Reduce warnings.
John Kessenich [Fri, 14 Dec 2018 01:43:02 +0000 (18:43 -0700)]
Build: Reduce warnings.

5 years agoGLSL/SPV: XFB: No streams on types, but support them on built-in blocks.
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.

5 years agoMerge pull request #1625 from jeffbolznv/update_spirv_tools
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.

5 years agoUpdate to newest SPIRV-Tools. It checks the Vulkan rule that all resources must have...
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.

5 years agoInfrastructure: Fix .gitattributes typo eof -> eol. Also update README
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

5 years agoMerge pull request #1620 from akien-mga/unix-executable-bit
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

5 years agoMerge pull request #1624 from akien-mga/osdependent-link-threads
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

5 years agoCMake: 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'

5 years agoRemove Unix executable permission from text files
Rémi Verschelde [Mon, 10 Dec 2018 09:48:55 +0000 (10:48 +0100)]
Remove Unix executable permission from text files

5 years agoMerge branch 'ClemensRognerSD-dx9-sampler'
John Kessenich [Sat, 8 Dec 2018 01:40:14 +0000 (18:40 -0700)]
Merge branch 'ClemensRognerSD-dx9-sampler'

5 years agoManually merge ClemensRognerSD-dx9-sampler and resolve conflicts.
John Kessenich [Sat, 8 Dec 2018 01:38:26 +0000 (18:38 -0700)]
Manually merge ClemensRognerSD-dx9-sampler and resolve conflicts.

5 years agoSPV: Fix #1575, fix #1593: Support HLSL #line
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.

5 years agoMerge pull request #1614 from alan-baker/test-updates
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

5 years agoModify testing to only record validation pass/fail
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

5 years agoMerge pull request #1613 from alegal-arm/types
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…

5 years agoRename GL_KHX_shader_explicit_arithmetic_types to GL_EXT_shader_explicit_arithmetic_types
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

5 years agoMerge pull request #1602 from Igalia/apinheiro/prevent-xfbstride-twice
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

5 years agoGlslangToSpv: 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

5 years agoMerge pull request #1603 from KhronosGroup/uint-array-length
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.

5 years agoBump version.
John Kessenich [Thu, 29 Nov 2018 07:37:16 +0000 (00:37 -0700)]
Bump version.

5 years agoSPV: For GLSL only, bitcast OpArrayLength result back to int.
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.

5 years agoMerge pull request #1606 from dj2/ndk_build
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

5 years agoSPV: Generate OpArrayLength with no signedness.
John Kessenich [Tue, 27 Nov 2018 16:19:10 +0000 (09:19 -0700)]
SPV: Generate OpArrayLength with no signedness.

5 years agoAdd NDK build files
dan sinclair [Mon, 26 Nov 2018 21:27:55 +0000 (16:27 -0500)]
Add NDK build files

5 years agoBuild: Fix build warnings introduced by 2173c6.
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.

5 years agoMerge pull request #1567 from Igalia/apinheiro/xfb-1535
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

5 years agoMerge pull request #1595 from dgkoch/EXT_fragment_invocation_density
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

5 years agoMerge pull request #1597 from sheredom/add_conversion_folding
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.

5 years agoMerge pull request #1598 from alan-baker/geo-xfb-caps
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

5 years agoUpdate 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

5 years agoImplement GL_EXT_fragment_invocation_density
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.

5 years agoSPV: non-functional: update to latest headers.
John Kessenich [Mon, 26 Nov 2018 13:34:38 +0000 (06:34 -0700)]
SPV: non-functional: update to latest headers.

5 years agoAdd conversion folding when the source is a constant.
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.

5 years agoMerge pull request #1592 from KhronosGroup/subgroupBroadcast-const-id
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.

5 years agoGLSL: 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.

5 years agoMerge pull request #1587 from dneto0/update-known-good
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

5 years agoUpdate 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.

5 years agoBump minor version.
John Kessenich [Fri, 16 Nov 2018 17:02:18 +0000 (10:02 -0700)]
Bump minor version.

5 years agoMerge branch 'jeffbolznv-scalar_block_layout'
John Kessenich [Fri, 16 Nov 2018 16:57:59 +0000 (09:57 -0700)]
Merge branch 'jeffbolznv-scalar_block_layout'

5 years agoMerge branch 'scalar_block_layout' of https://github.com/jeffbolznv/glslang into...
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

5 years agoMove to next SPIRV-Tools known good.
John Kessenich [Fri, 16 Nov 2018 06:43:35 +0000 (23:43 -0700)]
Move to next SPIRV-Tools known good.

5 years agoGLSL: Increase supported sizes of XBF strides and offsets.
John Kessenich [Thu, 15 Nov 2018 22:07:28 +0000 (15:07 -0700)]
GLSL: Increase supported sizes of XBF strides and offsets.

5 years agoMerge pull request #1583 from TiemoJung/fix_dot_int
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)

5 years agoBump revision.
John Kessenich [Thu, 15 Nov 2018 17:37:21 +0000 (10:37 -0700)]
Bump revision.

5 years agoUpdate to latest SPIR-V Tools.
John Kessenich [Thu, 15 Nov 2018 16:57:43 +0000 (09:57 -0700)]
Update to latest SPIR-V Tools.

5 years ago[HLSL/Spir-V] fix for incorrect spir-v on int dot(int, int)
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.

5 years agoMerge pull request #1579 from TiemoJung/handle_c_register
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

5 years agoMerge pull request #1580 from TiemoJung/float1_times_scalar_fix
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

5 years agoMerge pull request #1577 from TiemoJung/fix_broken_type_system
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

5 years agoImplement GL_EXT_scalar_block_layout
Jeff Bolz [Wed, 14 Nov 2018 15:30:53 +0000 (09:30 -0600)]
Implement GL_EXT_scalar_block_layout

5 years agoHLSL: fix invalid spir-v vector * scalar for float1
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

5 years agoHLSL: implemented c register handling
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.

5 years agoUpdated type conversion rules for HLSL frontend
t.jung [Tue, 13 Nov 2018 16:11:03 +0000 (17:11 +0100)]
Updated type conversion rules for HLSL frontend

5 years agoMerge pull request #1571 from dj2/result
John Kessenich [Tue, 13 Nov 2018 15:36:43 +0000 (08:36 -0700)]
Merge pull request #1571 from dj2/result

Handle potentially uninitialized result

5 years agoReview feedback
Dan Sinclair [Tue, 13 Nov 2018 14:17:44 +0000 (09:17 -0500)]
Review feedback

5 years agoMerge pull request #1573 from dneto0/fix-pch
John Kessenich [Mon, 12 Nov 2018 23:13:40 +0000 (16:13 -0700)]
Merge pull request #1573 from dneto0/fix-pch

PCH filename depends on current binary dir

5 years agoPCH filename depends on current binary dir
David Neto [Mon, 12 Nov 2018 22:09:07 +0000 (17:09 -0500)]
PCH filename depends on current binary dir

Fixes #1572

5 years agoHandle potentially uninitialized result
Dan Sinclair [Mon, 12 Nov 2018 18:56:52 +0000 (13:56 -0500)]
Handle potentially uninitialized result

5 years agoMerge pull request #1569 from amdrexu/bugfix
John Kessenich [Mon, 12 Nov 2018 16:01:35 +0000 (09:01 -0700)]
Merge pull request #1569 from amdrexu/bugfix

Fix parser issue: redeclare gl_FragStencilRefARB is not supported

5 years agoFix parser issue: redeclare gl_FragStencilRefARB is not supported
Rex Xu [Mon, 12 Nov 2018 07:15:57 +0000 (15:15 +0800)]
Fix parser issue: redeclare gl_FragStencilRefARB is not supported

5 years agoParseHelper: assign global XfbBuffer to a block missing it
Alejandro Piñeiro [Tue, 23 Oct 2018 12:54:26 +0000 (14:54 +0200)]
ParseHelper: assign global XfbBuffer to a block missing it

If a block has assigned a XfbOffset it is assumed that it would
inherit the current global XfbBuffer. This commit fixes two use cases:

1) Getting the members of a Block with a XfbOffset to be assigned an
   offset, as explained on GLSL 4.60 spec, section "4.4.2 Output
   Layout Qualifiers", subsection "Transform Feedback Layout
   Qualifiers".

2) Compute properly an error on overlapping ranges if a block is
   assigned a XfbOffset and one of it members is assigned a explicit
   one. This gets working because when the members of a block get
   assigned a Offset/Buffer at fixBlockXfbOffsets, then the block is
   deassigned the Offsets, so ranges are computed only with the block
   members.

BTW, this is already done when redeclaring block builtins.

Fixes #1535