Until C++20, std::vector doesn't have a constexpr constructor, which means TType cannot use a `TVector` for `mArraySizes` if an arrayed type needs to be created constexpr. This is needed for the upcoming textureGatherOffsets implementation. A new TSpan class is introduced, based on std::span (from C++20) that holds the pointer/size allocated from a TVector without owning it. Since TVector's allocation are made from a pool, the allocated memory will live beyond the vector's destruction. `TType::mArraySizes` is changed to this type. This change will allow a new constexpr constructor to be added to TType that takes a TSpan as array directly, a value which is constexpr initialized from a static array (instead of TVector). Bug: angleproject:3569 Change-Id: I78793b0f4c64519e0ebe30cf6e0de995ba70035d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1968260Reviewed-by:Jiajia Qin <jiajia.qin@intel.com> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| compiler_tests | Loading commit data... | |
| deqp_support | Loading commit data... | |
| egl_tests | Loading commit data... | |
| gl_tests | Loading commit data... | |
| gles1_conformance_tests | Loading commit data... | |
| gles_conformance_tests | Loading commit data... | |
| perf_tests | Loading commit data... | |
| preprocessor_tests | Loading commit data... | |
| test_expectations | Loading commit data... | |
| test_utils | Loading commit data... | |
| util_tests | Loading commit data... | |
| BUILD.gn | Loading commit data... | |
| angle_deqp_tests_main.cpp | Loading commit data... | |
| angle_end2end_tests.gni | Loading commit data... | |
| angle_end2end_tests_main.cpp | Loading commit data... | |
| angle_perftests.gni | Loading commit data... | |
| angle_perftests_main.cpp | Loading commit data... | |
| angle_unittest_main.cpp | Loading commit data... | |
| angle_unittests.gni | Loading commit data... | |
| angle_unittests_utils.h | Loading commit data... | |
| angle_white_box_tests.gni | Loading commit data... | |
| angle_white_box_tests_main.cpp | Loading commit data... |