~cyphermox/+junk/test-cross-compile

« back to all changes in this revision

Viewing changes to tests/integration-tests/graphics/android/test_display_integration.cpp

  • Committer: Tarmac
  • Author(s): Kevin DuBois
  • Date: 2013-10-22 04:39:18 UTC
  • mfrom: (1116.2.19 no-gpu-display)
  • Revision ID: tarmac-20131022043918-35yldzdxwh4ekrr0
graphics: android: eliminate one of the two DisplayBuffers. both hwc/gpu displays use the same displaybuffer now. .

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

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#include "src/server/graphics/android/hwc11_device.h"
24
24
#include "src/server/graphics/android/hwc_layerlist.h"
25
25
#include "src/server/graphics/android/hwc_vsync.h"
26
 
#include "src/server/graphics/android/default_framebuffer_factory.h"
 
26
#include "src/server/graphics/android/resource_factory.h"
27
27
#include "src/server/graphics/android/android_graphic_buffer_allocator.h"
28
 
#include "src/server/graphics/android/gpu_android_display_buffer_factory.h"
29
 
#include "src/server/graphics/android/hwc_android_display_buffer_factory.h"
 
28
#include "src/server/graphics/android/display_buffer_factory.h"
30
29
#include "src/server/graphics/android/fb_device.h"
31
30
 
32
31
#include "examples/graphics.h"
57
56
           figure out why, we can remove fb_device in the test fixture */
58
57
        auto buffer_initializer = std::make_shared<mg::NullBufferInitializer>();
59
58
        auto allocator = std::make_shared<mga::AndroidGraphicBufferAllocator>(buffer_initializer); 
60
 
        fb_factory = std::make_shared<mga::DefaultFramebufferFactory>(allocator);
61
 
        fb_device = fb_factory->create_fb_device();
 
59
        resource_factory = std::make_shared<mga::ResourceFactory>(allocator);
 
60
        fb_device = resource_factory->create_fb_device();
62
61
 
63
62
        /* determine hwc11 capable devices so we can skip the hwc11 tests on non supported tests */
64
63
        hw_module_t const* gr_module;
89
88
 
90
89
    static bool run_hwc11_tests;
91
90
    static bool run_hwc10_tests;
92
 
    static std::shared_ptr<mga::FramebufferFactory> fb_factory;
 
91
    static std::shared_ptr<mga::ResourceFactory> resource_factory;
93
92
    static std::shared_ptr<mga::DisplaySupportProvider> fb_device;
94
93
    static std::shared_ptr<hwc_composer_device_1> hwc_device;
95
94
};
96
95
 
97
96
std::shared_ptr<mga::DisplaySupportProvider> AndroidGPUDisplay::fb_device;
98
 
std::shared_ptr<mga::FramebufferFactory> AndroidGPUDisplay::fb_factory;
 
97
std::shared_ptr<mga::ResourceFactory> AndroidGPUDisplay::resource_factory;
99
98
std::shared_ptr<hwc_composer_device_1> AndroidGPUDisplay::hwc_device;
100
99
bool AndroidGPUDisplay::run_hwc11_tests;
101
100
bool AndroidGPUDisplay::run_hwc10_tests;
105
104
TEST_F(AndroidGPUDisplay, gpu_display_ok_with_gles)
106
105
{
107
106
    auto mock_display_report = std::make_shared<testing::NiceMock<mtd::MockDisplayReport>>();
108
 
    auto fb_window = fb_factory->create_fb_native_window(fb_device);
109
 
    auto window_query = std::make_shared<mga::AndroidFramebufferWindow>(fb_window);
110
 
    auto db_factory = std::make_shared<mga::GPUAndroidDisplayBufferFactory>();
111
 
    auto display = std::make_shared<mga::AndroidDisplay>(window_query, db_factory, fb_device, mock_display_report);
 
107
    auto display = resource_factory->create_display(fb_device, mock_display_report);
112
108
 
113
109
    display->for_each_display_buffer([this](mg::DisplayBuffer& buffer)
114
110
    {
135
131
    SUCCEED_IF_NO_HWC10_SUPPORT();
136
132
 
137
133
    auto mock_display_report = std::make_shared<testing::NiceMock<mtd::MockDisplayReport>>();
138
 
    auto fb_window = fb_factory->create_fb_native_window(fb_device);
139
 
    auto window_query = std::make_shared<mga::AndroidFramebufferWindow>(fb_window);
140
134
    auto layerlist = std::make_shared<mga::LayerList>();
141
 
 
142
135
    auto syncer = std::make_shared<mga::HWCVsync>();
143
136
    auto hwc = std::make_shared<mga::HWC10Device>(hwc_device, fb_device, syncer);
144
 
    auto db_factory = std::make_shared<mga::HWCAndroidDisplayBufferFactory>(hwc);
145
 
    auto display = std::make_shared<mga::AndroidDisplay>(window_query, db_factory, hwc,
146
 
                                                         mock_display_report);
 
137
    auto display = resource_factory->create_display(hwc, mock_display_report);
 
138
 
147
139
 
148
140
    display->for_each_display_buffer([this](mg::DisplayBuffer& buffer)
149
141
    {
163
155
    SUCCEED_IF_NO_HWC11_SUPPORT();
164
156
 
165
157
    auto mock_display_report = std::make_shared<testing::NiceMock<mtd::MockDisplayReport>>();
166
 
    auto fb_window = fb_factory->create_fb_native_window(fb_device);
167
 
    auto window_query = std::make_shared<mga::AndroidFramebufferWindow>(fb_window);
168
158
    auto layerlist = std::make_shared<mga::LayerList>();
169
159
 
170
160
    auto syncer = std::make_shared<mga::HWCVsync>();
171
161
    auto hwc = std::make_shared<mga::HWC11Device>(hwc_device, layerlist, fb_device, syncer);
172
 
    auto db_factory = std::make_shared<mga::HWCAndroidDisplayBufferFactory>(hwc);
173
 
    auto display = std::make_shared<mga::AndroidDisplay>(window_query, db_factory, hwc, mock_display_report);
 
162
    auto display = resource_factory->create_display(hwc, mock_display_report);
174
163
 
175
164
    display->for_each_display_buffer([this](mg::DisplayBuffer& buffer)
176
165
    {