|
12584049
|
2024-10-21T14:04:55
|
|
Make SimplifyLoopConditions testable
Add ShCompileOptions::simplifyLoopConditions, so that tests can turn
it on. Later edits to simplify loop condition logic are simpler to
review when the testing related edits are landed separately.
Test the feature by having ESSL as the input and ESSL as the natural
output, to reflect how AST changes.
To make the test expectations more deterministic across code changes,
change SymbolTable::kLastBuiltInId to
SymbolTable::kFirstUserDefinedSymbolId. This is simpler as no code
needs to know exact last built in id, so we can just ensure that
the user defined symbol ids do not clash with the builtin ids.
Bug: angleproject:374585769
Change-Id: Iea0efb8ac2878691d0fd5ff5cfe9a49ac754515d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5946724
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
11724133
|
2024-08-06T12:02:54
|
|
Metal: Separate vars with normal types
Separate compound expressions separates expressions as temporary values.
Previously creating a temporary variable would copy the entire type.
Qualifiers and interface block info but shouldn't ever be applied to
temporary variables. This would lead to assertions during MSL
output.
Fix by copying the type and unsetting qualifiers and interface block
info.
Bug: angleproject:357622691
Change-Id: Id868cd3eaabe3710121d6c9a565304e282ddb69f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5762605
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
82ddb33b
|
2024-05-10T00:00:00
|
|
Metal: Do not separate vector and matrix constants
Do not create temporary variables for already
folded constant vector and matrix values.
This reduces register usage and partially fixes
MSL compilation errors caused by matrices
present in constant initializers.
Bug: angleproject:8691
Change-Id: Iedfabadd9b7bcb2e6e1e08a5ad39f48305365747
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5533925
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f7de39b6
|
2024-03-09T10:27:47
|
|
Make IntermRebuild available for all backends
Move IntermRebuild from MSL to general translator
code.
Bug: angleproject:8590
Change-Id: Ie14651d09fbc320b27b94e48eb12d4ca8c79c68c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5358815
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
280e79e1
|
2023-08-10T14:08:00
|
|
Rescope globals only used in one function to function-local.
We can demote global variables when they are only used in one function.
This has performance implications on Metal.
Bug: angleproject:8311
Change-Id: Id666e6b167be771c14768cd73efa61fdacd897d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771215
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9b63700b
|
2023-07-11T10:25:40
|
|
Translator: Reorganize files
This change makes the translator files more organized by:
- Grouping files that are specific to a certain output under their own
directory,
- Moving transformations under tree_ops
- Removing Direct from metal translation now that that SPIR-V Cross path
is removed
Bug: angleproject:6394
Change-Id: Iaf5bb8d5604b84748dece029821b1f77b2813967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4678780
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|