11Layer::Layer() : unique_id_(NextUniqueID()), original_layer_id_(unique_id_) {}
15uint64_t Layer::NextUniqueID() {
16 static std::atomic<uint64_t> next_id(1);
19 id = next_id.fetch_add(1);
24Layer::AutoPrerollSaveLayerState::AutoPrerollSaveLayerState(
25 PrerollContext* preroll_context,
26 bool save_layer_is_active,
27 bool layer_itself_performs_readback)
28 : preroll_context_(preroll_context),
29 save_layer_is_active_(save_layer_is_active),
30 layer_itself_performs_readback_(layer_itself_performs_readback) {
31 if (save_layer_is_active_) {
32 prev_surface_needs_readback_ = preroll_context_->surface_needs_readback;
33 preroll_context_->surface_needs_readback =
false;
39 bool save_layer_is_active,
40 bool layer_itself_performs_readback) {
42 layer_itself_performs_readback);
46 if (save_layer_is_active_) {
47 preroll_context_->surface_needs_readback =
48 (prev_surface_needs_readback_ || layer_itself_performs_readback_);
static AutoPrerollSaveLayerState Create(PrerollContext *preroll_context, bool save_layer_is_active=true, bool layer_itself_performs_readback=false)
~AutoPrerollSaveLayerState()