Previously, it was assumed that a function argument is either AC or
AC[i], and it was converted to AC or AC+i respectively. The code is
changed to support any number of dimensions and subscripts, using
array size information from AC's type. If AC is an array of array
(atomic_uint AC[N][M][R]), the following index calculations are done.
AC -> AC.arrayIndex
AC[i] -> AC.arrayIndex + i*M*R
AC[i][j] -> AC.arrayIndex + i*M*R + j*R
AC[i][j][k] -> AC.arrayIndex + i*M*R + j*R + k
A test is added to exercise these various forms of indexing:
AtomicCounterBufferTest31.AtomicCounterArrayOfArray
Bug: angleproject:3566
Change-Id: I1e181a7363463d1d0ee4916f35006ed7c58e0f7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1739488
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by:
Tim Van Patten <timvp@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| android | Loading commit data... | |
| build_overrides | Loading commit data... | |
| doc | Loading commit data... | |
| extensions | Loading commit data... | |
| gni | Loading commit data... | |
| include | Loading commit data... | |
| infra | Loading commit data... | |
| samples | Loading commit data... | |
| scripts | Loading commit data... | |
| src | Loading commit data... | |
| third_party | Loading commit data... | |
| tools/glslang | Loading commit data... | |
| util | Loading commit data... | |
| .clang-format | Loading commit data... | |
| .gitattributes | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .gn | Loading commit data... | |
| .style.yapf | Loading commit data... | |
| AUTHORS | Loading commit data... | |
| BUILD.gn | Loading commit data... | |
| CONTRIBUTORS | Loading commit data... | |
| DEPS | Loading commit data... | |
| LICENSE | Loading commit data... | |
| OWNERS | Loading commit data... | |
| PRESUBMIT.py | Loading commit data... | |
| README.chromium | Loading commit data... | |
| README.md | Loading commit data... | |
| WATCHLISTS | Loading commit data... | |
| additional_readme_paths.json | Loading commit data... | |
| codereview.settings | Loading commit data... | |
| dotfile_settings.gni | Loading commit data... |