- Jan 02, 2018
-
-
John Kessenich authored
The grammar for no semicolon and no object name for cbuffer/tbuffer was correct, but the production still skipped the anonymous declarations if an identifier followed.
-
- Dec 30, 2017
-
-
John Kessenich authored
-
- Dec 24, 2017
-
-
John Kessenich authored
-
- Dec 21, 2017
-
-
John Kessenich authored
This is to create more stable test results.
-
GregF authored
This allow for propagation through structs with dynamically indexed arrays. This supports recent removal of non-io struct flattening.
-
Jean-François Marquis authored
Set type to r-value resulting from indexing vector, to prevent float->uint conversion when source is already uint. Resulting OpConvertFToU would otherwise fail validation because source is already uint. For LoadN, incorrect uint->float->uint can be avoided; fixing potential truncation of big integer values.
-
- Dec 16, 2017
-
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
The memory model group agreed to these definitions for how to map GLSL barrier, memoryBarrier, etc. With HLSL following suit.
-
John Kessenich authored
-
- Dec 15, 2017
-
-
John Kessenich authored
Also, only emit this XFB information where the SPIR-V spec says it should be emitted: essentially, on objects. This and the previous commit together fix #1185.
-
John Kessenich authored
-
- Dec 14, 2017
-
-
Piers Daniell authored
This implementation uses the GLSL extension GL_NV_conservative_raster_underestimation to generate the new SPIR-V FullyCoveredEXT built in.
-
- Dec 12, 2017
-
-
LoopDawg authored
Some stage (e.g, hull shaders) have arrayed builtin outputs (e.g, position). When copying from the internal structure to the split form, it is necessary to propagate that indirection to the actual arrayed outputs. This was not happening. Addresses #1181
-
- Dec 09, 2017
-
-
John Kessenich authored
-
- Dec 08, 2017
-
-
LoopDawg authored
Fixes #979
-
John Kessenich authored
This makes struct returns from functions work, but breaks structs containing arrays, due to limitations in subsequent transforms in spirv-opt. This is expected to be fixed soon.
-
- Dec 07, 2017
-
-
LoopDawg authored
Adds command line options: --invert-y --iy (synonyms) which invert position.Y on vertex shader output. Handles these cases: * Direct single variable return * Member of direct returned struct * Single variable output parameter * Member of struct output parameter API: // Enables position.Y output negation in vertex shader void TShader::setInvertY(bool invert); Fixes #1173
-
- Dec 06, 2017
-
-
John Kessenich authored
-
John Kessenich authored
-
- Dec 04, 2017
-
-
John Kessenich authored
This continues to prevent writing output buffers (out from a function), but fixes the problem where the copy-in/out was not getting done. Making everything work will require knowing both in/out-ness and bufferness, but these are currently mutually exclusive, because both are storage qualifiers.
-
- Nov 30, 2017
-
-
LoopDawg authored
Minor change to add a compilation warning on implicit matrix size truncations.
-
- Nov 29, 2017
-
-
John Kessenich authored
(This is motivated by wanting to retickle the tests.)
-
- Nov 28, 2017
-
-
LoopDawg authored
Issue #791 was partially fixed by PR #1161 (the mat mul implicit truncations were its main point), but it still wouldn't compile due to the use of ConstantBuffer as an identifier. Apparently those fall into the same class as "float float", where float is both a type and an identifier. This allows struct definitions with such keyword-identifiers, and adds ConstantBuffer to the set. 'cbuffer int' is legal in HLSL, and 'struct int' appears to only be rejected due to the redefinition of the 'int' type. Fixes #791
-
- Nov 27, 2017
-
-
LoopDawg authored
Goes with PR #1161, and completes the space for mul() implicit truncations. Note that the v*v and scalar cases are already handled by existing code.
-
Sebastian Tafuri authored
-
- Nov 22, 2017
-
-
LoopDawg authored
HLSL truncates the vector, or one of the two matrix dimensions if there is a dimensional mismatch in m*v, v*m, or m*m. This PR adds that ability. Conversion constructors are added as required.
-
- Nov 20, 2017
-
-
John Kessenich authored
Fixes #1158. Fixes #1159.
-
- Nov 15, 2017
-
-
LoopDawg authored
If a shader includes a mixture of several stages, such as HS and GS, the non-stage output geometry should be ignored, lest it conflict with the stage output.
-
- Nov 14, 2017
-
-
LoopDawg authored
This is currently parsed and ignored, save for some minor validation.
-
- Nov 09, 2017
-
-
LoopDawg authored
Almost equivalent to tbuffer, except members not at global scope. So, reference is "TextureBuffer_var.member", not simply "member".
-
- Nov 03, 2017
-
-
John Kessenich authored
-
- Nov 02, 2017
-
-
John Kessenich authored
-
John Kessenich authored
-
- Oct 28, 2017
-
-
John Kessenich authored
-
- Oct 27, 2017
-
-
John Kessenich authored
Both debug and release clang builds have segfaulted on recent changes, non deterministically, while doing the single/multi-thread test all test files. Removing recent test files, to see if it gives a clue.
-
- Oct 25, 2017
-
-
Aaron Muir Hamilton authored
-
- Oct 23, 2017
-
-
Aaron Muir Hamilton authored
-