Loading services/vr/vr_window_manager/composer/impl/vr_hwc.cpp +11 −5 Original line number Diff line number Diff line Loading @@ -240,12 +240,14 @@ void VrHwc::enableCallback(bool enable) { } } uint32_t VrHwc::getMaxVirtualDisplayCount() { return 0; } uint32_t VrHwc::getMaxVirtualDisplayCount() { return 1; } Error VrHwc::createVirtualDisplay(uint32_t width, uint32_t height, PixelFormat* format, Display* outDisplay) { *format = PixelFormat::RGBA_8888; *outDisplay = 0; *outDisplay = display_count_; displays_[display_count_].reset(new HwcDisplay()); display_count_++; return Error::NONE; } Loading Loading @@ -356,7 +358,11 @@ Error VrHwc::getDisplayType(Display display, return Error::BAD_DISPLAY; } if (display == kDefaultDisplayId) *outType = IComposerClient::DisplayType::PHYSICAL; else *outType = IComposerClient::DisplayType::VIRTUAL; return Error::NONE; } Loading Loading @@ -443,8 +449,8 @@ Error VrHwc::setOutputBuffer(Display display, buffer_handle_t buffer, if (!display_ptr) return Error::BAD_DISPLAY; ALOGE("Virtual display support not implemented"); return Error::UNSUPPORTED; // TODO(dnicoara): Is it necessary to do anything here? return Error::NONE; } Error VrHwc::validateDisplay( Loading services/vr/vr_window_manager/composer/impl/vr_hwc.h +1 −0 Original line number Diff line number Diff line Loading @@ -248,6 +248,7 @@ class VrHwc : public IComposer, public ComposerBase, public ComposerView { std::mutex mutex_; std::unordered_map<Display, std::unique_ptr<HwcDisplay>> displays_; Display display_count_ = 2; Observer* observer_ = nullptr; Loading services/vr/vr_window_manager/shell_view.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ #include <android/input.h> #include <binder/IServiceManager.h> #include <hardware/hwcomposer2.h> #include <inttypes.h> #include <log/log.h> #include "controller_mesh.h" Loading Loading @@ -180,6 +181,13 @@ void ShellView::dumpInternal(String8& result) { result.appendFormat("initialized = %s\n", initialized_ ? "true" : "false"); result.appendFormat("is_visible = %s\n", is_visible_ ? "true" : "false"); result.appendFormat("debug_mode = %s\n\n", debug_mode_ ? "true" : "false"); result.append("[displays]\n"); result.appendFormat("count = %zu\n", displays_.size()); for (size_t i = 0; i < displays_.size(); ++i) result.appendFormat(" display_id = %" PRId32 "\n", displays_[i]->id()); result.append("\n"); } void ShellView::OnDrawFrame() { Loading Loading
services/vr/vr_window_manager/composer/impl/vr_hwc.cpp +11 −5 Original line number Diff line number Diff line Loading @@ -240,12 +240,14 @@ void VrHwc::enableCallback(bool enable) { } } uint32_t VrHwc::getMaxVirtualDisplayCount() { return 0; } uint32_t VrHwc::getMaxVirtualDisplayCount() { return 1; } Error VrHwc::createVirtualDisplay(uint32_t width, uint32_t height, PixelFormat* format, Display* outDisplay) { *format = PixelFormat::RGBA_8888; *outDisplay = 0; *outDisplay = display_count_; displays_[display_count_].reset(new HwcDisplay()); display_count_++; return Error::NONE; } Loading Loading @@ -356,7 +358,11 @@ Error VrHwc::getDisplayType(Display display, return Error::BAD_DISPLAY; } if (display == kDefaultDisplayId) *outType = IComposerClient::DisplayType::PHYSICAL; else *outType = IComposerClient::DisplayType::VIRTUAL; return Error::NONE; } Loading Loading @@ -443,8 +449,8 @@ Error VrHwc::setOutputBuffer(Display display, buffer_handle_t buffer, if (!display_ptr) return Error::BAD_DISPLAY; ALOGE("Virtual display support not implemented"); return Error::UNSUPPORTED; // TODO(dnicoara): Is it necessary to do anything here? return Error::NONE; } Error VrHwc::validateDisplay( Loading
services/vr/vr_window_manager/composer/impl/vr_hwc.h +1 −0 Original line number Diff line number Diff line Loading @@ -248,6 +248,7 @@ class VrHwc : public IComposer, public ComposerBase, public ComposerView { std::mutex mutex_; std::unordered_map<Display, std::unique_ptr<HwcDisplay>> displays_; Display display_count_ = 2; Observer* observer_ = nullptr; Loading
services/vr/vr_window_manager/shell_view.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ #include <android/input.h> #include <binder/IServiceManager.h> #include <hardware/hwcomposer2.h> #include <inttypes.h> #include <log/log.h> #include "controller_mesh.h" Loading Loading @@ -180,6 +181,13 @@ void ShellView::dumpInternal(String8& result) { result.appendFormat("initialized = %s\n", initialized_ ? "true" : "false"); result.appendFormat("is_visible = %s\n", is_visible_ ? "true" : "false"); result.appendFormat("debug_mode = %s\n\n", debug_mode_ ? "true" : "false"); result.append("[displays]\n"); result.appendFormat("count = %zu\n", displays_.size()); for (size_t i = 0; i < displays_.size(); ++i) result.appendFormat(" display_id = %" PRId32 "\n", displays_[i]->id()); result.append("\n"); } void ShellView::OnDrawFrame() { Loading