Uses an unordered_map in the CommandBufferHelper to track buffer reads and writes. Buffer barriers are tracked specially in the CommandBufferHelper class as a barrier we execute immediately when we execute the commands into the primary. So when we run into an incompatible buffer access we must start a new command buffer. The rules for an incompatible access are: - when we are reading a buffer, any prior write in the same command buffer is incompatible. - when we are writing a buffer, any prior read or write in the same command buffer is incopatible. Also adds a regression test using a new performance counter. Bug: angleproject:4429 Change-Id: I393a4ed87314f955eb998940b877ba76ea15a7b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334091Reviewed-by:Tim Van Patten <timvp@google.com> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Charlie Lao <cclao@google.com> Commit-Queue: 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... | |
| .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... |