summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorgman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-11 21:36:24 +0000
committergman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-11 21:36:24 +0000
commitf84374c390b97d1f816812d31f160d53d75db27c (patch)
tree9549bdaa5839a214ab53fc1a1088e9f19c81d1b1 /gpu
parente64d2ac012980252b0e562a630e5ce799a7dd16d (diff)
downloadchromium_src-f84374c390b97d1f816812d31f160d53d75db27c.zip
chromium_src-f84374c390b97d1f816812d31f160d53d75db27c.tar.gz
chromium_src-f84374c390b97d1f816812d31f160d53d75db27c.tar.bz2
Fix GLES2 Conformance test support
TEST=ran GLES2 Conformance tests BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9166034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117295 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/gles2_conform_support/egl/display.cc49
1 files changed, 24 insertions, 25 deletions
diff --git a/gpu/gles2_conform_support/egl/display.cc b/gpu/gles2_conform_support/egl/display.cc
index 82c60135..47fcd51 100644
--- a/gpu/gles2_conform_support/egl/display.cc
+++ b/gpu/gles2_conform_support/egl/display.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -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();