#include <draw_order_resolver.h>
Public Types | |
| using | ElementRefs = std::vector< size_t > |
Public Member Functions | |
| DrawOrderResolver () | |
| void | AddElement (size_t element_index, bool is_opaque) |
| void | PushClip (size_t element_index) |
| void | PopClip () |
| void | Flush () |
| ElementRefs | GetSortedDraws (size_t opaque_skip_count, size_t translucent_skip_count) const |
| Returns the sorted draws for the current draw order layer. This should only be called after all recording has finished. More... | |
Helper that records draw indices in painter's order and sorts the draws into an optimized order based on translucency and clips.
Definition at line 15 of file draw_order_resolver.h.
| using impeller::DrawOrderResolver::ElementRefs = std::vector<size_t> |
Definition at line 17 of file draw_order_resolver.h.
| impeller::DrawOrderResolver::DrawOrderResolver | ( | ) |
Definition at line 12 of file draw_order_resolver.cc.
| void impeller::DrawOrderResolver::AddElement | ( | size_t | element_index, |
| bool | is_opaque | ||
| ) |
| void impeller::DrawOrderResolver::Flush | ( | ) |
Definition at line 44 of file draw_order_resolver.cc.
References PopClip().
Referenced by impeller::testing::TEST().
| DrawOrderResolver::ElementRefs impeller::DrawOrderResolver::GetSortedDraws | ( | size_t | opaque_skip_count, |
| size_t | translucent_skip_count | ||
| ) | const |
Returns the sorted draws for the current draw order layer. This should only be called after all recording has finished.
| [in] | opaque_skip_count | The number of opaque elements to skip when appending the combined elements. This is used for the "clear color" optimization. |
| [in] | translucent_skip_count | The number of translucent elements to skip when appending the combined elements. This is used for the "clear color" optimization. |
Definition at line 71 of file draw_order_resolver.cc.
Referenced by impeller::testing::TEST().
| void impeller::DrawOrderResolver::PopClip | ( | ) |
Definition at line 27 of file draw_order_resolver.cc.
References VALIDATION_LOG.
Referenced by Flush(), and impeller::testing::TEST().
| void impeller::DrawOrderResolver::PushClip | ( | size_t | element_index | ) |