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

Unified Diff: cc/test/test_gpu_memory_buffer_manager.cc

Issue 2383753002: gpu: Add GpuFence framework.
Patch Set: rebase 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
Index: cc/test/test_gpu_memory_buffer_manager.cc
diff --git a/cc/test/test_gpu_memory_buffer_manager.cc b/cc/test/test_gpu_memory_buffer_manager.cc
index 12aa1ee119e873d0633a1facda6a30ffa819ab7b..72cc9f1b33a6ccdd007f7155b7723567cefc5f8c 100644
--- a/cc/test/test_gpu_memory_buffer_manager.cc
+++ b/cc/test/test_gpu_memory_buffer_manager.cc
@@ -12,6 +12,7 @@
#include "base/numerics/safe_conversions.h"
#include "ui/gfx/buffer_format_util.h"
#include "ui/gfx/gpu_memory_buffer.h"
+#include "ui/gfx/shared_event.h"
namespace cc {
namespace {
@@ -123,6 +124,32 @@ class GpuMemoryBufferFromClient : public gfx::GpuMemoryBuffer {
gfx::GpuMemoryBuffer* client_buffer_;
};
+class GpuFenceImpl : public gfx::GpuFence {
+ public:
+ GpuFenceImpl() {}
+ explicit GpuFenceImpl(const gfx::GpuFenceHandle& handle)
+ : shared_event_(handle.shared_event_handle) {}
+ ~GpuFenceImpl() override {}
+
+ // Overridden from gfx::GpuFence:
+ bool IsSignaled() override { return shared_event_.IsSignaled(); }
+ bool Wait(const base::TimeDelta& max_time) override {
+ return shared_event_.Wait(max_time);
+ }
+ void Reset() override { shared_event_.Reset(); }
+ gfx::GpuFenceHandle GetHandle() const override {
+ gfx::GpuFenceHandle handle;
+ handle.shared_event_handle = shared_event_.GetHandle();
+ return handle;
+ }
+ ClientFence AsClientFence() override {
+ return reinterpret_cast<ClientFence>(this);
+ }
+
+ private:
+ gfx::SharedEvent shared_event_;
+};
+
} // namespace
TestGpuMemoryBufferManager::TestGpuMemoryBufferManager() {
@@ -193,4 +220,21 @@ void TestGpuMemoryBufferManager::SetDestructionSyncToken(
gfx::GpuMemoryBuffer* buffer,
const gpu::SyncToken& sync_token) {}
+std::unique_ptr<gfx::GpuFence> TestGpuMemoryBufferManager::CreateGpuFence() {
+ std::unique_ptr<gfx::GpuFence> result(new GpuFenceImpl);
+ return result;
+}
+
+std::unique_ptr<gfx::GpuFence>
+TestGpuMemoryBufferManager::CreateGpuFenceFromHandle(
+ const gfx::GpuFenceHandle& handle) {
+ std::unique_ptr<gfx::GpuFence> result(new GpuFenceImpl(handle));
+ return result;
+}
+
+gfx::GpuFence* TestGpuMemoryBufferManager::GpuFenceFromClientFence(
+ ClientFence fence) {
+ return reinterpret_cast<gfx::GpuFence*>(fence);
+}
+
} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698