John Kessenich
13761069b5
Web: Add sanity check test suite for smaller-footprint builds.
...
For the smallest builds, google tests will not be present, in
addition to a large number of tests not being capable of running.
2019-08-20 23:21:55 -06:00
John Kessenich
7fc8683491
Merge pull request #1813 from jeffbolznv/compositeconstruct
...
Handle SPIR-V type mismatch when constructing a composite
2019-07-28 23:20:26 -06:00
John Kessenich
642b6ad99f
Merge pull request #1844 from alelenv/ast_print_fix
...
Fix bug in printing trailing comma when dumping AST for a structure.
2019-07-28 21:33:30 -06:00
Ashwin Lele
c1e61d6cff
Fix bugs in missing Builtin decoration for some NV builtins for tessellation
...
control shaders.
Fix bug in member remapping.
2019-07-22 12:36:38 -07:00
Ashwin Lele
a76d1c211b
Fix bug in printing trailing comma when dumping AST for a structure.
2019-07-17 14:40:58 -07:00
John Kessenich
e383c5f55d
Merge pull request #1837 from KhronosGroup/fix-NV_compute_shader_derivatives
...
ESSL: Fix #1823 : Conditions for when derivatives are in compute shader.
2019-07-15 19:49:46 -06:00
Sahil Parmar
f2dcc87c6a
Allow unsized view array dimension for non-block perviewNV attributes
2019-07-15 16:14:00 -07:00
John Kessenich
50dc8c350b
Merge pull request #1824 from KhronosGroup/fix-spec-expr-array-check
...
SPV: Fix #1783 : Don't do bounds checking for spec-const-expression size
2019-07-15 10:55:30 -06:00
John Kessenich
33081e01d3
ESSL: Fix #1823 : Conditions for when derivatives are in compute shader.
2019-07-15 01:20:18 -06:00
John Kessenich
1a6e8534ce
GLSL: Fix #1833 : Don't constant fold integer mix to a float.
2019-07-13 12:23:11 -06:00
Jason Macnak
dbd4c3ce11
spirv: Generate missing SampleMaskOverrideCoverageNV capability op
...
The SampleMaskOverrideCoverageNV capability should be declared when
gl_SampleMask is used.
2019-07-12 14:33:02 -07:00
Jeff Bolz
c1ad396258
Avoid generating 8/16-bit constants when 8/16-bit arithmetic extensions aren't enabled
2019-07-10 15:04:29 -05:00
Alan Baker
87dd98f0e9
Test updates
2019-07-08 14:14:23 -04:00
John Kessenich
96524f9168
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.
2019-07-03 09:37:25 -06:00
John Kessenich
4b4b41a634
HLSL: Fix #1815 : Don't constant fold spec-constant array indexing.
2019-07-03 01:28:51 -06:00
Jeff Bolz
6a50a7850d
update spirv-headers to pick up demote_to_helper_invocation
2019-07-02 10:58:15 -05:00
Jeff Bolz
ba6170b534
Implement GL_EXT_demote_to_helper_invocation
2019-07-01 09:36:15 -05:00
Jeff Bolz
531344905f
Handle SPIR-V type mismatch when constructing a composite
2019-06-25 13:32:35 -05:00
Jeff Bolz
4b5c498923
Add a bunch of missing cases to promoteConstantUnion. Use macros to expand all the cases more simply.
2019-06-22 22:28:25 -05:00
Jeff Bolz
8912336663
Add test for constant type conversion
2019-06-21 23:32:25 -05:00
John Kessenich
9c14f77f5d
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.
2019-06-18 00:36:17 -06:00
John Kessenich
a9b00ac5d5
Merge pull request #1806 from KhronosGroup/nan-clamp
...
SPV: Add a switch for favoring non-NaN operands in min, max, and clamp.
2019-06-18 00:26:25 -06:00
John Kessenich
5d73a3c95c
Merge pull request #1698 from jeffbolznv/private_storage_variables
...
Add Float16/Int8/Int16 capabilities for private variables and function parameters
2019-06-17 23:42:13 -06:00
John Kessenich
605afc7b1b
SPV: Add a switch for favoring non-NaN operands in min, max, and clamp.
2019-06-17 23:33:09 -06:00
Jeff Bolz
38a52fca93
Add gl_SemanticsVolatile to GL_KHR_memory_scope_semantics, and make volatile-qualified atomics generate MemorySemanticsVolatile when using the Vulkan memory model
2019-06-14 09:57:01 -05:00
Alan Baker
e86cc18e8c
Update test expectations for new SPIRV-Tools
2019-06-13 08:54:31 -04:00
Daniel Koch
2cb2f197a7
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!
2019-06-08 08:53:11 -04:00
John Kessenich
92b5c9ee91
GLSL: Revert f6873f7 to fix #1764 .
2019-06-08 04:30:46 -06:00
Jeff Bolz
fd556e32b3
Use spvValidatorOptionsSetBeforeHlslLegalization for pre-legalized HLSL
2019-06-07 14:42:08 -05:00
Jeff Bolz
c6f0ce8dbc
Support GL_ARB_fragment_shader_interlock
2019-06-03 11:55:25 -05:00
Daniel Koch
593a4e0aa5
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.
2019-05-31 14:17:36 -04:00
Daniel Koch
c3e60ad9b6
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.
2019-05-31 14:17:22 -04:00
Daniel Koch
3418cb4c98
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
2019-05-31 14:17:13 -04:00
Daniel Koch
51760c88ca
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).
2019-05-31 14:16:52 -04:00
Jeff Bolz
8adc2f565e
Allow runtime-sized arrays of acceleration structures
2019-05-30 12:45:15 -05:00
Daniel Koch
40b1a9e14e
Fix include guard for GL_EXT_multiview
2019-05-28 15:23:19 -04:00
Daniel Koch
9bb17cd0eb
Return consistent names from CapabilityString
...
Don't prefix with "Capability" since the majority of them don't.
Also add missing CapabilityImageFootprintNV
2019-05-28 15:23:10 -04:00
David Neto
8b920c793a
Update SPIRV-Tools, SPIRV-Headers
...
Headers update fixes validation of spv.shaderBallotAMD.
2019-05-16 02:59:54 -04:00
John Kessenich
b64952eddd
SPV 1.4: Move to 1.4 validation, removing all 1.4 validation failures.
2019-05-10 00:02:45 -06:00
John Kessenich
f43c739ac5
SPV 1.4: Emit SignExtend and ZeroExtend for integer image reads/writes.
2019-05-10 00:02:45 -06:00
John Kessenich
61a5ce190a
SPV 1.4: Lookup tables: Use variable initializer and NonWritable...
...
...when doing a variable lookup on an array of constants.
2019-05-10 00:02:45 -06:00
John Kessenich
fbb6bdf046
SPV 1.4: Add support for OpCopyLogical, careful of Boolean differences.
2019-05-10 00:02:45 -06:00
John Kessenich
1f4d04687b
SPV 1.4: Implement the 5 new loop controls.
2019-05-10 00:02:45 -06:00
John Kessenich
0c1e71a123
SPV 1.4: Use OpSelect for trivial typed non-scalar/vector expressions.
2019-05-10 00:02:45 -06:00
John Kessenich
cfea59d357
SPV 1.4: Add testing infrastructure for SPV 1.4 tests.
...
This includes the test for the first feature of OpEntryPoint.
2019-05-10 00:02:45 -06:00
Jeff Bolz
88220d507e
For nonuniformEXT constructor, make a copy of the node to decorate
2019-05-08 10:24:46 -05:00
John Kessenich
e291f7a09f
Merge pull request #1739 from jeffbolznv/buffer_reference2
...
Add support for GL_EXT_buffer_reference2
2019-05-08 17:12:52 +07:00
John Kessenich
c0640dabfd
Merge pull request #1758 from jeffbolznv/convertonly
...
If a shader's only use of float16 is for FConvert, add the Float16 capability
2019-05-03 21:44:41 +07:00
John Kessenich
5cb2fa2ad2
Fix #1759 : Check for specialization constants when literals required.
2019-05-03 08:40:35 -06:00
Jeff Bolz
758c93364c
Add support for GL_EXT_buffer_reference2
2019-05-01 16:13:26 -05:00