3044 Commits

Author SHA1 Message Date
David Neto
082184bcc9 Mark spv.int16.amd.frag.out as failing validation
See #1642

Also updates SPIRV-Tools and SPIRV-Headers known_good.
2019-01-03 14:36:20 -05:00
John Kessenich
83b2647293
Merge pull request #1634 from greg-lunarg/lines10
Create separate OpSource for each included file when compiling -g
2018-12-29 17:44:50 -07:00
Greg Fischer
d445bb2867 Create separate OpSource for each included file 2018-12-28 12:06:43 -07:00
John Kessenich
9ed38739b9
Merge pull request #1627 from greg-lunarg/lines8
Add passes to spirv-opt passes to preserve source line info when compiling -g.
2018-12-18 10:38:32 -07:00
John Kessenich
af22355bb1
Merge pull request #1633 from akien-mga/cmake-2.8-pthread
CMake: Fix linking pthread of CMake < 3.1
2018-12-18 10:33:39 -07:00
Rémi Verschelde
f0e911c809 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+.
2018-12-18 14:47:12 +01:00
John Kessenich
1a19598ef0
Merge pull request #1632 from alan-baker/mem-model-1610
Move memory model scope tests to Vulkan 1.1 batch
2018-12-17 17:49:05 -07:00
Alan Baker
3b656c79f4 Move memory model scope tests to Vulkan 1.1 batch
Fixes #1610

* Updated expected result due to version change
2018-12-17 17:07:55 -05:00
John Kessenich
6d17865876 Build: Make calling argument types match declared parameter types.
Fixes #1630 and fixes #1631.
2018-12-17 14:00:43 -07:00
Greg Fischer
5620a2f95e Add passes to legalization to preserve source line info when generated. 2018-12-16 13:13:46 -07:00
John Kessenich
e26630fe20
Merge pull request #1628 from jeffbolznv/storagebuffer_sbt
Fix bug where shaderRecordNV buffers were using StorageBuffer storage class
2018-12-14 20:30:39 -07:00
Jeff Bolz
61a0cd19cc Fix bug where shaderRecordNV buffers were using StorageBuffer storage class 2018-12-14 20:59:53 -06:00
John Kessenich
b23d232ec5 Licensing. Fixes #958. Add licenes file and update copyrights. 2018-12-14 10:47:35 -07:00
John Kessenich
30b697ee63 Build: Reduce warnings. 2018-12-13 18:43:02 -07:00
John Kessenich
236eb0d325 GLSL/SPV: XFB: No streams on types, but support them on built-in blocks.
From internal Khronos discussions, work, and testing.
2018-12-13 12:06:12 -07:00
John Kessenich
ba9f596eee
Merge pull request #1625 from jeffbolznv/update_spirv_tools
Update to newest SPIRV-Tools, emit default Binding decoration.
2018-12-12 18:18:25 -07:00
Jeff Bolz
0a93cfbb79 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. 2018-12-11 20:58:29 -06:00
John Kessenich
00054da5e6 Infrastructure: Fix .gitattributes typo eof -> eol. Also update README
Add to README: git config --global core.fileMode false
2018-12-10 16:54:58 -07:00
John Kessenich
0dbc5cbc5d
Merge pull request #1620 from akien-mga/unix-executable-bit
Remove Unix executable permission from text files
2018-12-10 15:37:21 -07:00
John Kessenich
a10e6e95fc
Merge pull request #1624 from akien-mga/osdependent-link-threads
CMake: Link OSDependent with Threads::Threads
2018-12-10 08:46:53 -07:00
Rémi Verschelde
e8c8af9c4b 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'
2018-12-10 14:27:57 +01:00
Rémi Verschelde
ebfd91a719 Remove Unix executable permission from text files 2018-12-10 10:49:16 +01:00
John Kessenich
dc4fe2d648 Merge branch 'ClemensRognerSD-dx9-sampler' 2018-12-07 18:40:14 -07:00
John Kessenich
bd1c1831d5 Manually merge ClemensRognerSD-dx9-sampler and resolve conflicts. 2018-12-07 18:38:26 -07:00
greg-lunarg
5d43c4aac7 SPV: Fix #1575, fix #1593: Support HLSL #line
SPIR-V OpLines now contain filenames from HLSL-style #lines.
2018-12-07 17:36:33 -07:00
John Kessenich
127cea5c9a
Merge pull request #1614 from alan-baker/test-updates
Update test infrastructure
2018-12-07 14:10:06 -07:00
Alan Baker
ed777b0fbd 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
2018-12-07 13:58:46 -05:00
John Kessenich
0bb930fc0f
Merge pull request #1613 from alegal-arm/types
Rename GL_KHX_shader_explicit_arithmetic_types to GL_EXT_shader_expli…
2018-12-03 23:21:15 -07:00
Alexander Galazin
32def9f467 Rename GL_KHX_shader_explicit_arithmetic_types to GL_EXT_shader_explicit_arithmetic_types 2018-12-03 13:16:59 +01:00
John Kessenich
667506a5ea
Merge pull request #1602 from Igalia/apinheiro/prevent-xfbstride-twice
GlslangToSpv: prevent add XfbStride twice
2018-11-29 10:43:25 -07:00
Alejandro Piñeiro
16ef9da372 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
2018-11-29 11:49:04 +01:00
John Kessenich
f9edfdab0e
Merge pull request #1603 from KhronosGroup/uint-array-length
SPV: Generate OpArrayLength with no signedness.
2018-11-29 02:32:46 -07:00
John Kessenich
4efc6f1ed0 Bump version. 2018-11-29 00:37:16 -07:00
John Kessenich
8c869679f2 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.
2018-11-28 07:01:37 -07:00
John Kessenich
f44b17ee13
Merge pull request #1606 from dj2/ndk_build
Add NDK build files
2018-11-27 19:42:19 -07:00
John Kessenich
e045c23a34 SPV: Generate OpArrayLength with no signedness. 2018-11-27 09:19:10 -07:00
dan sinclair
5ba79d5904 Add NDK build files 2018-11-27 11:17:00 -05:00
John Kessenich
d41a8dca0c Build: Fix build warnings introduced by 2173c6.
Also bump version for recent changes.
2018-11-27 07:45:52 -07:00
John Kessenich
c7a84a9247
Merge pull request #1567 from Igalia/apinheiro/xfb-1535
ParseHelper: assign global XfbBuffer to a block missing it
2018-11-27 07:17:10 -07:00
John Kessenich
d7baecfab7
Merge pull request #1595 from dgkoch/EXT_fragment_invocation_density
Implement GL_EXT_fragment_invocation_density
2018-11-27 06:41:36 -07:00
John Kessenich
2173c650ac
Merge pull request #1597 from sheredom/add_conversion_folding
Add conversion folding when the source is a constant.
2018-11-27 03:53:28 -07:00
John Kessenich
fb7a7ea2df
Merge pull request #1598 from alan-baker/geo-xfb-caps
Update known good SPIRV tools and headers
2018-11-26 10:53:24 -07:00
Alan Baker
440f95b1e7 Update known good SPIRV tools and headers
* Fixes use of optimizer
* Updated test outputs
 * GeometryStreams and TransformFeedback no longer fail validation
2018-11-26 11:24:22 -05:00
Daniel Koch
5154db5183 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.
2018-11-26 10:01:58 -05:00
John Kessenich
83fe01e274 SPV: non-functional: update to latest headers. 2018-11-26 06:34:38 -07:00
Neil Henning
81a63f1de0 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.
2018-11-26 12:45:33 +00:00
John Kessenich
0e6c82ce93
Merge pull request #1592 from KhronosGroup/subgroupBroadcast-const-id
GLSL: Fix #1591: Require the id in subgroupBroadcast to be constant.
2018-11-24 23:13:25 -07:00
John Kessenich
f2675d4d6c GLSL: Fix #1591: Require the id in subgroupBroadcast to be constant. 2018-11-21 15:16:30 -07:00
John Kessenich
d2a7b07a64
Merge pull request #1587 from dneto0/update-known-good
Update to newer SPIRV-Tools, including VK_EXT_scalar_block_layout
2018-11-16 14:41:13 -07:00
David Neto
2d1739d57a 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.
2018-11-16 16:16:31 -05:00