- Oct 18, 2017
-
-
Aaron Muir Hamilton authored
This division is undefined behaviour which raises SIGFPE on x86. Most C++ preprocessors evaluate this silently to 0.
-
- Oct 17, 2017
-
-
John Kessenich authored
-
John Kessenich authored
GLSL: Don't try to swizzle void.
-
Aaron Muir Hamilton authored
-
GregF authored
-
- Oct 16, 2017
-
-
John Kessenich authored
Also, rationalized this to generally make it safer and more readable. It could use a more modern approach, at some point...
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
-
- Oct 13, 2017
-
-
John Kessenich authored
Fixes #1088.
-
- Oct 11, 2017
-
-
John Kessenich authored
HLSL: nonfunctional: add helper access methods to TAttributeMap
-
- Oct 10, 2017
-
-
John Kessenich authored
Set cmake-policy CMP0048 to NEW
-
John Kessenich authored
HLSL: nonfunctional: rename setId -> switchId, add comment
-
John Kessenich authored
Add getAsLoopNode() method for TIntermLoop
-
LoopDawg authored
There was some code replication around getting string and integer values out of an attribute map. This adds new methods to the TAttributeMap class to encapsulate some accessor details.
-
Tim Diekmann authored
-
- Oct 08, 2017
-
-
He Dejing authored
follow local conventions of spaces
-
- Oct 07, 2017
-
-
LoopDawg authored
Method rename, add comment about its intended use. No test diffs.
-
John Kessenich authored
Fixes #1091.
-
John Kessenich authored
-
John Kessenich authored
Only track variables in the global scope
-
John Kessenich authored
The semantics differ between GLSL/HLSL and SPIR-V. Translate between these.
-
John Kessenich authored
-
- Oct 06, 2017
-
-
Sebastian Tafuri authored
-
Sebastian Tafuri authored
-
John Kessenich authored
HLSL: split textures used for both shadow and non-shadow modes
-
Sebastian Tafuri authored
-
LoopDawg authored
A single texture can statically appear in code mixed with a shadow sampler and a non-shadow sampler. This would be create invalid SPIR-V, unless one of them is provably dead. The previous detection of this happened before DCE, so some shaders would trigger the error even though they wouldn't after DCE. To handle that case, this PR splits the texture into two: one with each mode. It sets "needsLegalization" (if that happens for any texture) to warn that this shader will need post-compilation legalization. If the texture is only used with one of the two modes, behavior is as it was before.
-
John Kessenich authored
-
- Oct 04, 2017
-
-
John Kessenich authored
HLSL: Fix #954: Track/access subsets of flattened multi-level aggrega…
-
John Kessenich authored
Works in conjuction with d1be7545 to represent and modify a partially dereferenced multi-level flattened aggregate.
-
John Kessenich authored
HLSL: Fix crash when flattening both side of assignement simultaneously.
-
- Oct 03, 2017
-
-
Unknown authored
-
- Oct 02, 2017
-
-
John Kessenich authored
HLSL: add subpass input types and methods
-
LoopDawg authored
Add support for Subpass Input proposal of issue #1069. Subpass input types are given as: layout(input_attachment_index = 1) SubpassInput<float4> subpass_f; layout(input_attachment_index = 2) SubpassInput<int4> subpass_i; layout(input_attachment_index = 3) SubpassInput<uint4> subpass_u; layout(input_attachment_index = 1) SubpassInputMS<float4> subpass_ms_f; layout(input_attachment_index = 2) SubpassInputMS<int4> subpass_ms_i; layout(input_attachment_index = 3) SubpassInputMS<uint4> subpass_ms_u; The input attachment may also be specified using attribute syntax: [[vk::input_attachment_index(7)]] SubpassInput subpass_2; The template type may be a shorter-than-vec4 vector, but currently user structs are not supported. (An unimplemented error will be issued). The load operations are methods on objects of the above type: float4 result = subpass_f.SubpassLoad(); int4 result = subpass_i.SubpassLoad(); uint4 result = subpass_u.SubpassLoad(); float4 result = subpass_ms_f.SubpassLoad(samp); int4 result = subpass_ms_i.SubpassLoad(samp); uint4 result = subpass_ms_u.SubpassLoad(samp); Additionally, the AST printer could not print EOpSubpass* nodes. Now it can. Fixes #1069
-
- Sep 30, 2017
-
-
John Kessenich authored
-
John Kessenich authored
- support C++11 style brackets [[...]] - support namespaces [[vk::...]] - support these on parameter declarations in functions - support location, binding/set, input attachments
-
- Sep 29, 2017
-
-
John Kessenich authored
-
John Kessenich authored
Remove opaque workarounds
-
GregF authored
-