Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: ui/ozone/platform/dri/dri_console_buffer.cc

Issue 908993003: [Ozone-Dri] Rename DriWrapper to DrmDevice (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@udl3-pass-drm-fd
Patch Set: rebased Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/ozone/platform/dri/dri_console_buffer.h" 5 #include "ui/ozone/platform/dri/dri_console_buffer.h"
6 6
7 #include <sys/mman.h> 7 #include <sys/mman.h>
8 #include <xf86drmMode.h> 8 #include <xf86drmMode.h>
9 9
10 #include "third_party/skia/include/core/SkCanvas.h" 10 #include "third_party/skia/include/core/SkCanvas.h"
11 #include "ui/ozone/platform/dri/dri_util.h" 11 #include "ui/ozone/platform/dri/dri_util.h"
12 #include "ui/ozone/platform/dri/dri_wrapper.h" 12 #include "ui/ozone/platform/dri/drm_device.h"
13 #include "ui/ozone/platform/dri/scoped_drm_types.h" 13 #include "ui/ozone/platform/dri/scoped_drm_types.h"
14 14
15 namespace ui { 15 namespace ui {
16 16
17 DriConsoleBuffer::DriConsoleBuffer(const scoped_refptr<DriWrapper>& dri, 17 DriConsoleBuffer::DriConsoleBuffer(const scoped_refptr<DrmDevice>& drm,
18 uint32_t framebuffer) 18 uint32_t framebuffer)
19 : dri_(dri), 19 : drm_(drm),
20 handle_(0), 20 handle_(0),
21 framebuffer_(framebuffer), 21 framebuffer_(framebuffer),
22 mmap_base_(NULL), 22 mmap_base_(NULL),
23 mmap_size_(0) { 23 mmap_size_(0) {
24 } 24 }
25 25
26 DriConsoleBuffer::~DriConsoleBuffer() { 26 DriConsoleBuffer::~DriConsoleBuffer() {
27 if (mmap_base_) 27 if (mmap_base_)
28 if (munmap(mmap_base_, mmap_size_)) 28 if (munmap(mmap_base_, mmap_size_))
29 PLOG(ERROR) << "munmap"; 29 PLOG(ERROR) << "munmap";
30 } 30 }
31 31
32 bool DriConsoleBuffer::Initialize() { 32 bool DriConsoleBuffer::Initialize() {
33 ScopedDrmFramebufferPtr fb(dri_->GetFramebuffer(framebuffer_)); 33 ScopedDrmFramebufferPtr fb(drm_->GetFramebuffer(framebuffer_));
34 34
35 if (!fb) 35 if (!fb)
36 return false; 36 return false;
37 37
38 handle_ = fb->handle; 38 handle_ = fb->handle;
39 stride_ = fb->pitch; 39 stride_ = fb->pitch;
40 SkImageInfo info = SkImageInfo::MakeN32Premul(fb->width, fb->height); 40 SkImageInfo info = SkImageInfo::MakeN32Premul(fb->width, fb->height);
41 41
42 mmap_size_ = info.getSafeSize(stride_); 42 mmap_size_ = info.getSafeSize(stride_);
43 43
44 if (!MapDumbBuffer(dri_->get_fd(), fb->handle, mmap_size_, &mmap_base_)) { 44 if (!MapDumbBuffer(drm_->get_fd(), fb->handle, mmap_size_, &mmap_base_)) {
45 mmap_base_ = NULL; 45 mmap_base_ = NULL;
46 return false; 46 return false;
47 } 47 }
48 48
49 surface_ = 49 surface_ =
50 skia::AdoptRef(SkSurface::NewRasterDirect(info, mmap_base_, stride_)); 50 skia::AdoptRef(SkSurface::NewRasterDirect(info, mmap_base_, stride_));
51 if (!surface_) 51 if (!surface_)
52 return false; 52 return false;
53 53
54 return true; 54 return true;
55 } 55 }
56 56
57 } // namespace ui 57 } // namespace ui
OLDNEW
« no previous file with comments | « ui/ozone/platform/dri/dri_console_buffer.h ('k') | ui/ozone/platform/dri/dri_gpu_platform_support.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698