Commit ec199e89 authored by Jidong Qin's avatar Jidong Qin Committed by Commit Bot

Fix views show flipped vertically if use ui::InProcessContextFactory

The SurfaceOrigin isn't being plumbed from gpu::Capabilities to
the output surface. DirectOutputsurface always specifies
gfx::SurfaceOrigin::kTopLeft but it needs to pass along the value
from gpu::Capabilities instead.

Bug: 1077572
Change-Id: I04f96781d90d87a6dc8a9f5a192f76a417249874
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2217528
Commit-Queue: kylechar <kylechar@chromium.org>
Reviewed-by: default avatarkylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#773752}
parent 14186a9d
...@@ -68,7 +68,8 @@ class DirectOutputSurface : public viz::OutputSurface { ...@@ -68,7 +68,8 @@ class DirectOutputSurface : public viz::OutputSurface {
explicit DirectOutputSurface( explicit DirectOutputSurface(
scoped_refptr<InProcessContextProvider> context_provider) scoped_refptr<InProcessContextProvider> context_provider)
: viz::OutputSurface(context_provider) { : viz::OutputSurface(context_provider) {
capabilities_.output_surface_origin = gfx::SurfaceOrigin::kTopLeft; capabilities_.output_surface_origin =
context_provider->ContextCapabilities().surface_origin;
} }
~DirectOutputSurface() override {} ~DirectOutputSurface() override {}
...@@ -315,6 +316,9 @@ void InProcessContextFactory::CreateLayerTreeFrameSink( ...@@ -315,6 +316,9 @@ void InProcessContextFactory::CreateLayerTreeFrameSink(
&image_factory_, data->surface_handle(), &image_factory_, data->surface_handle(),
"UICompositor", support_locking); "UICompositor", support_locking);
auto context_result = context_provider->BindToCurrentThread();
DCHECK_EQ(context_result, gpu::ContextResult::kSuccess);
std::unique_ptr<viz::OutputSurface> display_output_surface; std::unique_ptr<viz::OutputSurface> display_output_surface;
if (renderer_settings_.use_skia_renderer) { if (renderer_settings_.use_skia_renderer) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment