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

Unified Diff: gpu/gles2_conform_support/egl/display.cc

Issue 9166034: Fix GLES2 Conformance test support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 11 months 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/gles2_conform_support/egl/display.cc
diff --git a/gpu/gles2_conform_support/egl/display.cc b/gpu/gles2_conform_support/egl/display.cc
index 82c60135ecb075338e7545935f3e0786f1a1554d..6aefdf2c78146b2194432b568ae9af3d3fb046fa 100644
--- a/gpu/gles2_conform_support/egl/display.cc
+++ b/gpu/gles2_conform_support/egl/display.cc
@@ -30,29 +30,8 @@ Display::~Display() {
}
bool Display::Initialize() {
- scoped_ptr<gpu::CommandBufferService> command_buffer(
- new gpu::CommandBufferService);
- if (!command_buffer->Initialize())
- return false;
-
- int32 transfer_buffer_id =
- command_buffer->CreateTransferBuffer(kTransferBufferSize, -1);
- gpu::Buffer transfer_buffer =
- command_buffer->GetTransferBuffer(transfer_buffer_id);
- if (transfer_buffer.ptr == NULL)
- return false;
-
- scoped_ptr<gpu::gles2::GLES2CmdHelper> cmd_helper(
- new gpu::gles2::GLES2CmdHelper(command_buffer.get()));
- if (!cmd_helper->Initialize(kCommandBufferSize))
- return false;
-
gles2::Initialize();
-
is_initialized_ = true;
- command_buffer_.reset(command_buffer.release());
- transfer_buffer_id_ = transfer_buffer_id;
- gles2_cmd_helper_.reset(cmd_helper.release());
return true;
}
@@ -103,13 +82,18 @@ EGLSurface Display::CreateWindowSurface(EGLConfig config,
return EGL_NO_SURFACE;
}
+ scoped_ptr<gpu::CommandBufferService> command_buffer(
+ new gpu::CommandBufferService);
+ if (!command_buffer->Initialize())
+ return false;
+
gpu::gles2::ContextGroup::Ref group(new gpu::gles2::ContextGroup(true));
decoder_.reset(gpu::gles2::GLES2Decoder::Create(group.get()));
if (!decoder_.get())
return EGL_NO_SURFACE;
- gpu_scheduler_.reset(new gpu::GpuScheduler(command_buffer_.get(),
+ gpu_scheduler_.reset(new gpu::GpuScheduler(command_buffer.get(),
decoder_.get(),
NULL));
@@ -135,13 +119,28 @@ EGLSurface Display::CreateWindowSurface(EGLConfig config,
return EGL_NO_SURFACE;
}
- command_buffer_->SetPutOffsetChangeCallback(
+ command_buffer->SetPutOffsetChangeCallback(
base::Bind(&gpu::GpuScheduler::PutChanged,
base::Unretained(gpu_scheduler_.get())));
- command_buffer_->SetGetBufferChangeCallback(
+ command_buffer->SetGetBufferChangeCallback(
base::Bind(&gpu::GpuScheduler::SetGetBuffer,
base::Unretained(gpu_scheduler_.get())));
+ scoped_ptr<gpu::gles2::GLES2CmdHelper> cmd_helper(
+ new gpu::gles2::GLES2CmdHelper(command_buffer.get()));
+ if (!cmd_helper->Initialize(kCommandBufferSize))
+ return false;
+
+ int32 transfer_buffer_id =
+ command_buffer->CreateTransferBuffer(kTransferBufferSize, -1);
+ gpu::Buffer transfer_buffer =
+ command_buffer->GetTransferBuffer(transfer_buffer_id);
+ if (transfer_buffer.ptr == NULL)
+ return false;
+
+ command_buffer_.reset(command_buffer.release());
+ transfer_buffer_id_ = transfer_buffer_id;
+ gles2_cmd_helper_.reset(cmd_helper.release());
surface_.reset(new Surface(win));
return surface_.get();
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698