diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2021-05-18 03:47:14 +0200 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-05-18 03:47:14 +0200 |
commit | d9a29a428d029f8af9238d5c32c5b0282bcce7b8 (patch) | |
tree | cfd290593cf589d3a1946637eb1da27484ab4350 | |
parent | [automerger skipped] Merge "Import translations. DO NOT MERGE ANYWHERE" am: 9df2d8e6bd -s ours (diff) | |
parent | Merge "use create_dumb.size as size of buffer" (diff) | |
download | android_bootable_recovery-d9a29a428d029f8af9238d5c32c5b0282bcce7b8.tar android_bootable_recovery-d9a29a428d029f8af9238d5c32c5b0282bcce7b8.tar.gz android_bootable_recovery-d9a29a428d029f8af9238d5c32c5b0282bcce7b8.tar.bz2 android_bootable_recovery-d9a29a428d029f8af9238d5c32c5b0282bcce7b8.tar.lz android_bootable_recovery-d9a29a428d029f8af9238d5c32c5b0282bcce7b8.tar.xz android_bootable_recovery-d9a29a428d029f8af9238d5c32c5b0282bcce7b8.tar.zst android_bootable_recovery-d9a29a428d029f8af9238d5c32c5b0282bcce7b8.zip |
-rw-r--r-- | minui/graphics_drm.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/minui/graphics_drm.cpp b/minui/graphics_drm.cpp index 95759e382..9d31ff7a9 100644 --- a/minui/graphics_drm.cpp +++ b/minui/graphics_drm.cpp @@ -105,6 +105,8 @@ std::unique_ptr<GRSurfaceDrm> GRSurfaceDrm::Create(int drm_fd, int width, int he perror("Failed to DRM_IOCTL_MODE_CREATE_DUMB"); return nullptr; } + printf("Allocating buffer with resolution %d x %d pitch: %d bpp: %d, size: %llu\n", width, height, + create_dumb.pitch, create_dumb.bpp, create_dumb.size); // Cannot use std::make_unique to access non-public ctor. auto surface = std::unique_ptr<GRSurfaceDrm>(new GRSurfaceDrm( @@ -128,13 +130,14 @@ std::unique_ptr<GRSurfaceDrm> GRSurfaceDrm::Create(int drm_fd, int width, int he return nullptr; } - auto mmapped = mmap(nullptr, surface->height * surface->row_bytes, PROT_READ | PROT_WRITE, - MAP_SHARED, drm_fd, map_dumb.offset); + auto mmapped = + mmap(nullptr, create_dumb.size, PROT_READ | PROT_WRITE, MAP_SHARED, drm_fd, map_dumb.offset); if (mmapped == MAP_FAILED) { perror("Failed to mmap()"); return nullptr; } surface->mmapped_buffer_ = static_cast<uint8_t*>(mmapped); + printf("Framebuffer of size %llu allocated @ %p\n", create_dumb.size, surface->mmapped_buffer_); return surface; } @@ -260,9 +263,16 @@ drmModeConnector* MinuiBackendDrm::FindMainMonitor(int fd, drmModeRes* resources /* If we still didn't find a connector, give up and return. */ if (!main_monitor_connector) return nullptr; + for (int modes = 0; modes < main_monitor_connector->count_modes; modes++) { + printf("Display Mode %d resolution: %d x %d @ %d FPS\n", modes, + main_monitor_connector->modes[modes].hdisplay, + main_monitor_connector->modes[modes].vdisplay, + main_monitor_connector->modes[modes].vrefresh); + } *mode_index = 0; for (int modes = 0; modes < main_monitor_connector->count_modes; modes++) { if (main_monitor_connector->modes[modes].type & DRM_MODE_TYPE_PREFERRED) { + printf("Choosing display mode #%d\n", modes); *mode_index = modes; break; } |