|
1d5aaa6c
|
2019-08-06T11:20:13
|
|
Vulkan: support dynamic indices in array of arrays
Expands existing struct-sampler rewrite to flatten arrays of arrays.
This allows us to support dynamically-uniform array indexing, which is
core in ES 3.2.
Samplers inside (possibly nested) structs are broken apart as before,
and then if the type resulting from merging the array sizes of the field
and its containing structs is an array of array, the array is flattened.
Also adds an offset parameter to functions taking in arrays to account
for this translation.
As a result of outer array sizes leaking into function signatures,
functions taking arrays of different sizes are duplicated according to
how the function is invoked.
Bug: angleproject:3604
Change-Id: Ic9373fd12a38f19bd811eac92e281055a63c1901
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744177
Commit-Queue: James Dong <dongja@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
472c74c6
|
2019-08-19T16:32:13
|
|
Translator: Allow tree validation in children of TCompiler
This is to be able to perform validation inside TranslatorVulkan, even
if it's through ASSERTs.
Additionally, every transformation is changed such that they do their
validation themselves. TIntermTraverser::updateTree() performs the
validation, which indirectly validates many of three tree
transformations. Some of the more ancient transformations that don't
use this function directly call TCompiler::validateAST.
Bug: angleproject:2733
Change-Id: Ie4af029d34e053c5ad1dc8c2c2568eecd625d344
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761149
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b980c563
|
2018-11-27T11:34:27
|
|
Reformat all cpp and h files.
This applies git cl format --full to all ANGLE sources.
Bug: angleproject:2986
Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f
Reviewed-on: https://chromium-review.googlesource.com/c/1351367
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
76301e09
|
2018-07-19T11:48:30
|
|
Vulkan: Fix compound nested sampler struct params.
Replace the struct type of binary and symbol parameter nodes with a
lookup of the struct type in the tree.
Bug: angleproject:2494
Change-Id: I1e892e0f1b1f97302d1cdce1035f51c01d0efd9e
Reviewed-on: https://chromium-review.googlesource.com/1135695
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
84c11c53
|
2018-07-11T10:12:39
|
|
Vulkan: Implement sampler structs as function args.
Bug: angleproject:2494
Change-Id: Ia8e374846427b7140ab2565ae5b9b18409a76d96
Reviewed-on: https://chromium-review.googlesource.com/1117323
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
71a151fd
|
2018-06-26T16:07:42
|
|
Vulkan: Use TSymbolTable in ExtractStructSamplers.
This will enable more code reuse when handling sampler struct as
function arguments. We can add the sampler structs to the symbol table
stack when they are function arguments.
Bug: angleproject:2494
Change-Id: I9eeb1d3822e34cd43535e1b16a98864545755d22
Reviewed-on: https://chromium-review.googlesource.com/1117322
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
cdf50444
|
2018-06-26T15:05:42
|
|
Add test for sampler struct rewriting indexing.
The concern originally was that rewriting sampler structs could lead to
incorrect behaviour for indexing. The test attempts to cover this but
doesn't repro. It possibly is not an issue.
Bug: angleproject:2494
Change-Id: Ibc34b08b5cee3b6ff82d150a64f1768aae64396f
Reviewed-on: https://chromium-review.googlesource.com/1117321
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ac1a377d
|
2018-06-26T15:05:38
|
|
Vulkan: Split tree ops into separate files.
This makes the design consistent. Added new files for
NameEmbeddedStructs and RewriteStructSamplers.
Bug: angleproject:2665
Bug: angleproject:2494
Change-Id: If7d22a6ce9a86d51d38f68787006b7a28957861e
Reviewed-on: https://chromium-review.googlesource.com/1108086
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|