~ubuntu-branches/ubuntu/wily/mir/wily-proposed

« back to all changes in this revision

Viewing changes to src/platforms/mesa/server/kms/display_buffer.cpp

  • Committer: Package Import Robot
  • Author(s): Alexandros Frantzis
  • Date: 2015-10-08 16:12:19 UTC
  • mto: This revision was merged to the branch mainline in revision 109.
  • Revision ID: package-import@ubuntu.com-20151008161219-emk4a1ys51yy0wjb
Tags: upstream-0.17.0+15.10.20151008.2
ImportĀ upstreamĀ versionĀ 0.17.0+15.10.20151008.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
#include <chrono>
32
32
#include <thread>
33
33
 
 
34
namespace mg = mir::graphics;
34
35
namespace mgm = mir::graphics::mesa;
35
36
namespace geom = mir::geometry;
36
37
 
199
200
        {
200
201
            auto bypass_buffer = (*bypass_it)->buffer();
201
202
            auto native = bypass_buffer->native_buffer_handle();
202
 
            auto gbm_native = static_cast<mgm::GBMNativeBuffer*>(native.get());
203
 
            auto bufobj = get_buffer_object(gbm_native->bo);
204
 
            if (bufobj &&
205
 
                native->flags & mir_buffer_flag_can_scanout &&
 
203
            if (native->flags & mir_buffer_flag_can_scanout &&
206
204
                bypass_buffer->size() == geom::Size{fb_width,fb_height})
207
205
            {
208
 
                bypass_buf = bypass_buffer;
209
 
                bypass_bufobj = bufobj;
210
 
                return true;
211
 
            }
212
 
            else
213
 
            {
214
 
                bypass_buf = nullptr;
215
 
                bypass_bufobj = nullptr;
 
206
                auto gbm_native =
 
207
                    static_cast<mgm::GBMNativeBuffer*>(native.get());
 
208
                if (auto bufobj = get_buffer_object(gbm_native->bo))
 
209
                {
 
210
                    bypass_buf = bypass_buffer;
 
211
                    bypass_bufobj = bufobj;
 
212
                    return true;
 
213
                }
216
214
            }
217
215
        }
218
216
    }
219
217
 
 
218
    bypass_buf = nullptr;
 
219
    bypass_bufobj = nullptr;
220
220
    return false;
221
221
}
222
222
 
226
226
    f(*this);
227
227
}
228
228
 
229
 
void mgm::DisplayBuffer::gl_swap_buffers()
 
229
void mgm::DisplayBuffer::swap_buffers()
230
230
{
231
231
    if (!egl.swap_buffers())
232
232
        fatal_error("Failed to perform buffer swap");
458
458
    needs_set_crtc = true;
459
459
}
460
460
 
 
461
mg::NativeDisplayBuffer* mgm::DisplayBuffer::native_display_buffer()
 
462
{
 
463
    return this;
 
464
}