This reverts commit 5dcd29a6. Reason for revert: Breaking the ANGLE -> Chromium roller: https://chromium-review.googlesource.com/c/chromium/src/+/2496281 Original change's description: > Vulkan: Make DescriptorPoolHelper a Resource > > Descriptor pools need to live as long as the descriptor sets that are > allocated from them. Using Serials while building a command to judge a > pool's lifetime is prone to errors, since a command's Serial value > isn't known until the command is submitted, leading to deleting pools > too early relative to when the descriptor set is actually used. > > This CL updates DescriptorPoolHelper to inherit from Resource, so the > descriptor pools can be retain()'ed. This allows the Resource's counter > to indicate that a pool is in use until the command's Serial is known > and can be recorded to indicate when the command completes. This > prevents descriptor pools from being destroyed before the command > completes (while the descriptor sets are still in use), or even before > the command has been submitted. Destroying a descriptor pool resets all > of the descriptors that were allocated from it, which can trigger a > variety of VVL errors depending on when it's erroneously performed. > > This CL also adds the necessary retain() calls for the descriptor pools. > In particular, the pools need to be retained each time a cached > descriptor set that was allocated from it is re-used. This is relatively > simple with the current design, since we always clear the descriptor set > caches whenever a new pool is allocated, so the descriptor pool binding > is always accurate. > > Bug: angleproject:5030 > Test: MultithreadingTest::MultiContextDrawSmallDescriptorPools() > Change-Id: I5fdeeb46159448dfd679d7169e423048348be5ab > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437609 > Commit-Queue: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> TBR=courtneygo@google.com,timvp@google.com,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:5030 Change-Id: I0fd6d9a0e1b0989b22368ef98652281288699deb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497222 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:Jamie Madill <jmadill@chromium.org>
| 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 | 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... | |
| .vpython | Loading commit data... | |
| .vpython3 | Loading commit data... | |
| .yapfignore | 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... |