~kgunn72/mir/mir-mwc-ppa-disable-tests

« back to all changes in this revision

Viewing changes to src/platforms/android/server/hwc_layerlist.h

  • Committer: Tarmac
  • Author(s): Kevin DuBois
  • Date: 2015-01-27 04:48:26 UTC
  • mfrom: (2215.2.27 device-cleanup)
  • Revision ID: tarmac-20150127044826-4s4v7xapxf3nrmp2
android: prepare to split the LayerList from HwcDevice by creating private-for-now function in HwcDevice that handles both forced-gl and overlay renders. .

Approved by PS Jenkins bot, Robert Carr, Alexandros Frantzis.

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
    bool needs_commit;
47
47
};
48
48
 
49
 
/* this is a partitioned list. renderlist makes up the first renderlist.size() elements
50
 
   of the list, and there are additional_layers added to the end. 
51
 
   std::distance(begin(), additional_layers_begin()) == renderlist.size() 
52
 
   std::distance(additional_layers_begin(), end()) == additional_layers
53
 
   std::distance(begin(), end()) == renderlist.size() + additional_layers 
54
 
*/ 
55
49
class LayerList
56
50
{
57
51
public:
61
55
    void update_list(RenderableList const& renderlist);
62
56
 
63
57
    std::list<HwcLayerEntry>::iterator begin();
64
 
    std::list<HwcLayerEntry>::iterator additional_layers_begin();
65
58
    std::list<HwcLayerEntry>::iterator end();
66
59
 
67
 
    void setup_fb(Buffer const& fb_target);
 
60
    RenderableList rejected_renderables();
 
61
    void setup_fb(std::shared_ptr<Buffer> const& fb_target);
 
62
    bool needs_swapbuffers();
 
63
    void swap_occurred();
68
64
 
69
65
    hwc_display_contents_1_t* native_list();
70
66
    NativeFence retirement_fence();
72
68
    LayerList& operator=(LayerList const&) = delete;
73
69
    LayerList(LayerList const&) = delete;
74
70
 
 
71
    RenderableList renderable_list;
 
72
 
75
73
    void update_list_mode(RenderableList const& renderlist);
76
74
 
77
75
    std::shared_ptr<LayerAdapter> const layer_adapter;
78
76
    std::list<HwcLayerEntry> layers;
79
77
    std::shared_ptr<hwc_display_contents_1_t> hwc_representation;
80
 
    std::list<HwcLayerEntry>::iterator first_additional_layer;
81
78
    enum Mode
82
79
    {
83
80
        no_extra_layers,