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

Unified Diff: device/vr/android/gvr/gvr_device.cc

Issue 2508703002: WebVR: Use content CVC size for compositor rendering (Closed)
Patch Set: Rebase, use more appropriate crbug/655722 for TODOS Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « device/vr/android/gvr/gvr_delegate.h ('k') | third_party/WebKit/Source/modules/vr/VRDisplay.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: device/vr/android/gvr/gvr_device.cc
diff --git a/device/vr/android/gvr/gvr_device.cc b/device/vr/android/gvr/gvr_device.cc
index 71358494c132b368391a79ce7c0c71228120f738..5a01da20b93f634905ea70a7fefcb15c55054959 100644
--- a/device/vr/android/gvr/gvr_device.cc
+++ b/device/vr/android/gvr/gvr_device.cc
@@ -59,8 +59,9 @@ mojom::VRDisplayInfoPtr GvrDevice::GetVRDevice() {
// sizes when the phone is in portait mode. Send arbitrary,
// not-horrifically-wrong values instead.
// gvr::Sizei render_target_size = gvr_api->GetRecommendedRenderTargetSize();
- left_eye->renderWidth = 1024; // render_target_size.width / 2;
- left_eye->renderHeight = 1024; // render_target_size.height;
+ gvr::Sizei render_target_size = kFallbackRenderTargetSize;
+ left_eye->renderWidth = render_target_size.width / 2;
+ left_eye->renderHeight = render_target_size.height;
right_eye->renderWidth = left_eye->renderWidth;
right_eye->renderHeight = left_eye->renderHeight;
@@ -89,9 +90,22 @@ mojom::VRDisplayInfoPtr GvrDevice::GetVRDevice() {
right_eye->offset[1] = 0.0;
right_eye->offset[2] = 0.03;
+ delegate_->SetWebVRRenderSurfaceSize(2 * left_eye->renderWidth,
+ left_eye->renderHeight);
+
return device;
}
+ // In compositor mode, we have to use the current compositor window's
+ // surface size. Would be nice to change it, but that needs more browser
+ // internals to be modified. TODO(klausw,crbug.com/655722): remove this once
+ // we can pick our own surface size.
+ gvr::Sizei compositor_size = delegate_->GetWebVRCompositorSurfaceSize();
+ left_eye->renderWidth = compositor_size.width / 2;
+ left_eye->renderHeight = compositor_size.height;
+ right_eye->renderWidth = left_eye->renderHeight;
+ right_eye->renderHeight = left_eye->renderHeight;
+
std::string vendor = gvr_api->GetViewerVendor();
std::string model = gvr_api->GetViewerModel();
device->displayName = vendor + " " + model;
@@ -126,6 +140,9 @@ mojom::VRDisplayInfoPtr GvrDevice::GetVRDevice() {
right_eye->offset[1] = -right_eye_mat.m[1][3];
right_eye->offset[2] = -right_eye_mat.m[2][3];
+ delegate_->SetWebVRRenderSurfaceSize(2 * left_eye->renderWidth,
+ left_eye->renderHeight);
+
return device;
}
« no previous file with comments | « device/vr/android/gvr/gvr_delegate.h ('k') | third_party/WebKit/Source/modules/vr/VRDisplay.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698