summaryrefslogtreecommitdiff
path: root/chromium/ui/ozone/demo
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/ozone/demo')
-rw-r--r--chromium/ui/ozone/demo/gl_renderer.cc14
-rw-r--r--chromium/ui/ozone/demo/gl_renderer.h4
-rw-r--r--chromium/ui/ozone/demo/skia/skia_gl_renderer.cc17
-rw-r--r--chromium/ui/ozone/demo/skia/skia_gl_renderer.h4
-rw-r--r--chromium/ui/ozone/demo/skia/skia_renderer_factory.h1
-rw-r--r--chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.cc9
-rw-r--r--chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.h3
-rw-r--r--chromium/ui/ozone/demo/surfaceless_gl_renderer.cc11
-rw-r--r--chromium/ui/ozone/demo/surfaceless_gl_renderer.h3
-rw-r--r--chromium/ui/ozone/demo/vulkan_renderer.cc1
10 files changed, 28 insertions, 39 deletions
diff --git a/chromium/ui/ozone/demo/gl_renderer.cc b/chromium/ui/ozone/demo/gl_renderer.cc
index c5812189846..c25b8f9c15d 100644
--- a/chromium/ui/ozone/demo/gl_renderer.cc
+++ b/chromium/ui/ozone/demo/gl_renderer.cc
@@ -46,7 +46,7 @@ bool GlRenderer::Initialize() {
gl_surface_->Resize(size_, 1.f, gfx::ColorSpace(), true);
// Schedule the initial render.
- PostRenderFrameTask(gfx::SwapResult::SWAP_ACK, nullptr);
+ PostRenderFrameTask(gfx::SwapCompletionResult(gfx::SwapResult::SWAP_ACK));
return true;
}
@@ -69,16 +69,14 @@ void GlRenderer::RenderFrame() {
weak_ptr_factory_.GetWeakPtr()));
} else {
PostRenderFrameTask(
- gl_surface_->SwapBuffers(base::BindOnce(
- &GlRenderer::OnPresentation, weak_ptr_factory_.GetWeakPtr())),
- nullptr);
+ gfx::SwapCompletionResult(gl_surface_->SwapBuffers(base::BindOnce(
+ &GlRenderer::OnPresentation, weak_ptr_factory_.GetWeakPtr()))));
}
}
-void GlRenderer::PostRenderFrameTask(gfx::SwapResult result,
- std::unique_ptr<gfx::GpuFence> gpu_fence) {
- if (gpu_fence)
- gpu_fence->Wait();
+void GlRenderer::PostRenderFrameTask(gfx::SwapCompletionResult result) {
+ if (result.gpu_fence)
+ result.gpu_fence->Wait();
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
diff --git a/chromium/ui/ozone/demo/gl_renderer.h b/chromium/ui/ozone/demo/gl_renderer.h
index c5a6a3b2ada..62d391b0f1d 100644
--- a/chromium/ui/ozone/demo/gl_renderer.h
+++ b/chromium/ui/ozone/demo/gl_renderer.h
@@ -14,7 +14,6 @@
#include "ui/ozone/demo/renderer_base.h"
namespace gfx {
-class GpuFence;
struct PresentationFeedback;
} // namespace gfx
@@ -39,8 +38,7 @@ class GlRenderer : public RendererBase {
private:
void RenderFrame();
- void PostRenderFrameTask(gfx::SwapResult result,
- std::unique_ptr<gfx::GpuFence> gpu_fence);
+ void PostRenderFrameTask(gfx::SwapCompletionResult result);
void OnPresentation(const gfx::PresentationFeedback& feedback);
std::unique_ptr<PlatformWindowSurface> window_surface_;
diff --git a/chromium/ui/ozone/demo/skia/skia_gl_renderer.cc b/chromium/ui/ozone/demo/skia/skia_gl_renderer.cc
index ceb5cc4f5f2..c5be0bb4632 100644
--- a/chromium/ui/ozone/demo/skia/skia_gl_renderer.cc
+++ b/chromium/ui/ozone/demo/skia/skia_gl_renderer.cc
@@ -76,7 +76,7 @@ bool SkiaGlRenderer::Initialize() {
gr_context_ = GrContext::MakeGL(std::move(native_interface), options);
DCHECK(gr_context_);
- PostRenderFrameTask(gfx::SwapResult::SWAP_ACK, nullptr);
+ PostRenderFrameTask(gfx::SwapCompletionResult(gfx::SwapResult::SWAP_ACK));
return true;
}
@@ -106,7 +106,7 @@ void SkiaGlRenderer::RenderFrame() {
} else {
Draw(sk_surface_->getCanvas(), NextFraction());
}
- gr_context_->flush();
+ gr_context_->flushAndSubmit();
glFinish();
if (gl_surface_->SupportsAsyncSwap()) {
@@ -117,17 +117,14 @@ void SkiaGlRenderer::RenderFrame() {
weak_ptr_factory_.GetWeakPtr()));
} else {
PostRenderFrameTask(
- gl_surface_->SwapBuffers(base::BindOnce(
- &SkiaGlRenderer::OnPresentation, weak_ptr_factory_.GetWeakPtr())),
- nullptr);
+ gfx::SwapCompletionResult(gl_surface_->SwapBuffers(base::BindOnce(
+ &SkiaGlRenderer::OnPresentation, weak_ptr_factory_.GetWeakPtr()))));
}
}
-void SkiaGlRenderer::PostRenderFrameTask(
- gfx::SwapResult result,
- std::unique_ptr<gfx::GpuFence> gpu_fence) {
- if (gpu_fence)
- gpu_fence->Wait();
+void SkiaGlRenderer::PostRenderFrameTask(gfx::SwapCompletionResult result) {
+ if (result.gpu_fence)
+ result.gpu_fence->Wait();
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(&SkiaGlRenderer::RenderFrame,
diff --git a/chromium/ui/ozone/demo/skia/skia_gl_renderer.h b/chromium/ui/ozone/demo/skia/skia_gl_renderer.h
index 8abcc67d6cf..08195eebf87 100644
--- a/chromium/ui/ozone/demo/skia/skia_gl_renderer.h
+++ b/chromium/ui/ozone/demo/skia/skia_gl_renderer.h
@@ -21,7 +21,6 @@
#include "ui/ozone/demo/renderer_base.h"
namespace gfx {
-class GpuFence;
struct PresentationFeedback;
} // namespace gfx
@@ -47,8 +46,7 @@ class SkiaGlRenderer : public RendererBase,
protected:
virtual void RenderFrame();
- virtual void PostRenderFrameTask(gfx::SwapResult result,
- std::unique_ptr<gfx::GpuFence>);
+ virtual void PostRenderFrameTask(gfx::SwapCompletionResult result);
void Draw(SkCanvas* canvas, float fraction);
void StartDDLRenderThreadIfNecessary(SkSurface* sk_surface);
diff --git a/chromium/ui/ozone/demo/skia/skia_renderer_factory.h b/chromium/ui/ozone/demo/skia/skia_renderer_factory.h
index 192c12d67af..029211cad06 100644
--- a/chromium/ui/ozone/demo/skia/skia_renderer_factory.h
+++ b/chromium/ui/ozone/demo/skia/skia_renderer_factory.h
@@ -7,6 +7,7 @@
#include <memory>
+#include "base/macros.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/ozone/demo/renderer_factory.h"
diff --git a/chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.cc b/chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.cc
index e2ee9432d98..ec083066e53 100644
--- a/chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.cc
+++ b/chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.cc
@@ -244,7 +244,7 @@ void SurfacelessSkiaGlRenderer::RenderFrame() {
} else {
Draw(sk_surface->getCanvas(), NextFraction());
}
- gr_context_->flush();
+ gr_context_->flushAndSubmit();
glFinish();
if (!disable_primary_plane_) {
@@ -270,9 +270,8 @@ void SurfacelessSkiaGlRenderer::RenderFrame() {
}
void SurfacelessSkiaGlRenderer::PostRenderFrameTask(
- gfx::SwapResult result,
- std::unique_ptr<gfx::GpuFence> gpu_fence) {
- switch (result) {
+ gfx::SwapCompletionResult result) {
+ switch (result.swap_result) {
case gfx::SwapResult::SWAP_NAK_RECREATE_BUFFERS:
for (size_t i = 0; i < base::size(buffers_); ++i) {
buffers_[i] = std::make_unique<BufferWrapper>();
@@ -282,7 +281,7 @@ void SurfacelessSkiaGlRenderer::PostRenderFrameTask(
}
FALLTHROUGH; // We want to render a new frame anyways.
case gfx::SwapResult::SWAP_ACK:
- SkiaGlRenderer::PostRenderFrameTask(result, std::move(gpu_fence));
+ SkiaGlRenderer::PostRenderFrameTask(std::move(result));
break;
case gfx::SwapResult::SWAP_FAILED:
LOG(FATAL) << "Failed to swap buffers";
diff --git a/chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.h b/chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.h
index e24652c26a5..469083f14dd 100644
--- a/chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.h
+++ b/chromium/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.h
@@ -30,8 +30,7 @@ class SurfacelessSkiaGlRenderer : public SkiaGlRenderer {
private:
// SkiaGlRenderer:
void RenderFrame() override;
- void PostRenderFrameTask(gfx::SwapResult result,
- std::unique_ptr<gfx::GpuFence>) override;
+ void PostRenderFrameTask(gfx::SwapCompletionResult result) override;
class BufferWrapper;
diff --git a/chromium/ui/ozone/demo/surfaceless_gl_renderer.cc b/chromium/ui/ozone/demo/surfaceless_gl_renderer.cc
index 6117ac4f0f3..bc45833e24b 100644
--- a/chromium/ui/ozone/demo/surfaceless_gl_renderer.cc
+++ b/chromium/ui/ozone/demo/surfaceless_gl_renderer.cc
@@ -202,7 +202,7 @@ bool SurfacelessGlRenderer::Initialize() {
use_gpu_fences_ = gl_surface_->SupportsPlaneGpuFences();
// Schedule the initial render.
- PostRenderFrameTask(gfx::SwapResult::SWAP_ACK, nullptr);
+ PostRenderFrameTask(gfx::SwapCompletionResult(gfx::SwapResult::SWAP_ACK));
return true;
}
@@ -288,12 +288,11 @@ void SurfacelessGlRenderer::RenderFrame() {
}
void SurfacelessGlRenderer::PostRenderFrameTask(
- gfx::SwapResult result,
- std::unique_ptr<gfx::GpuFence> gpu_fence) {
- if (gpu_fence)
- gpu_fence->Wait();
+ gfx::SwapCompletionResult result) {
+ if (result.gpu_fence)
+ result.gpu_fence->Wait();
- switch (result) {
+ switch (result.swap_result) {
case gfx::SwapResult::SWAP_NAK_RECREATE_BUFFERS:
for (size_t i = 0; i < base::size(buffers_); ++i) {
buffers_[i] = std::make_unique<BufferWrapper>();
diff --git a/chromium/ui/ozone/demo/surfaceless_gl_renderer.h b/chromium/ui/ozone/demo/surfaceless_gl_renderer.h
index ba6d12a24e5..af3a3b2c690 100644
--- a/chromium/ui/ozone/demo/surfaceless_gl_renderer.h
+++ b/chromium/ui/ozone/demo/surfaceless_gl_renderer.h
@@ -34,8 +34,7 @@ class SurfacelessGlRenderer : public RendererBase {
private:
void RenderFrame();
- void PostRenderFrameTask(gfx::SwapResult result,
- std::unique_ptr<gfx::GpuFence> gpu_fence);
+ void PostRenderFrameTask(gfx::SwapCompletionResult result);
void OnPresentation(const gfx::PresentationFeedback& feedback);
class BufferWrapper {
diff --git a/chromium/ui/ozone/demo/vulkan_renderer.cc b/chromium/ui/ozone/demo/vulkan_renderer.cc
index 6d778ce8e98..04235e74ee3 100644
--- a/chromium/ui/ozone/demo/vulkan_renderer.cc
+++ b/chromium/ui/ozone/demo/vulkan_renderer.cc
@@ -10,6 +10,7 @@
#include "base/bind.h"
#include "base/location.h"
+#include "base/logging.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/trace_event/trace_event.h"
#include "gpu/vulkan/init/vulkan_factory.h"