summaryrefslogtreecommitdiffstats
path: root/gpu/gles2_conform_support
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-27 11:46:45 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-27 11:46:45 +0000
commit2f38c45427c68fe731c1f5c05256b6c141a6a590 (patch)
tree3a7aeefef2e2d4f7dd936907b7966fad85639dfe /gpu/gles2_conform_support
parentf6813d1566dec10663c1492d517f45b5c0b9d546 (diff)
downloadchromium_src-2f38c45427c68fe731c1f5c05256b6c141a6a590.zip
chromium_src-2f38c45427c68fe731c1f5c05256b6c141a6a590.tar.gz
chromium_src-2f38c45427c68fe731c1f5c05256b6c141a6a590.tar.bz2
Revert 119430 - Make transferbuffer increase in size dynamically
TEST=unit tests BUG=101431 Review URL: http://codereview.chromium.org/9113069 TBR=gman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9298005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119436 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/gles2_conform_support')
-rw-r--r--gpu/gles2_conform_support/egl/display.cc31
-rw-r--r--gpu/gles2_conform_support/egl/display.h5
2 files changed, 18 insertions, 18 deletions
diff --git a/gpu/gles2_conform_support/egl/display.cc b/gpu/gles2_conform_support/egl/display.cc
index 1b540f4..47fcd51 100644
--- a/gpu/gles2_conform_support/egl/display.cc
+++ b/gpu/gles2_conform_support/egl/display.cc
@@ -8,7 +8,6 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "gpu/command_buffer/client/gles2_lib.h"
-#include "gpu/command_buffer/client/transfer_buffer.h"
#include "gpu/command_buffer/service/context_group.h"
#include "gpu/gles2_conform_support/egl/config.h"
#include "gpu/gles2_conform_support/egl/surface.h"
@@ -22,7 +21,8 @@ namespace egl {
Display::Display(EGLNativeDisplayType display_id)
: display_id_(display_id),
- is_initialized_(false) {
+ is_initialized_(false),
+ transfer_buffer_id_(-1) {
}
Display::~Display() {
@@ -131,11 +131,15 @@ EGLSurface Display::CreateWindowSurface(EGLConfig config,
if (!cmd_helper->Initialize(kCommandBufferSize))
return false;
- scoped_ptr<gpu::TransferBuffer> transfer_buffer(new gpu::TransferBuffer(
- cmd_helper.get()));
+ 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_.reset(transfer_buffer.release());
+ transfer_buffer_id_ = transfer_buffer_id;
gles2_cmd_helper_.reset(cmd_helper.release());
surface_.reset(new Surface(win));
@@ -167,26 +171,23 @@ EGLContext Display::CreateContext(EGLConfig config,
EGLContext share_ctx,
const EGLint* attrib_list) {
DCHECK(IsValidConfig(config));
- // TODO(alokp): Add support for shared contexts.
+ // TODO(alokp): Command buffer does not support shared contexts.
if (share_ctx != NULL)
return EGL_NO_CONTEXT;
DCHECK(command_buffer_ != NULL);
- DCHECK(transfer_buffer_.get());
+ DCHECK(transfer_buffer_id_ != -1);
+ gpu::Buffer buffer = command_buffer_->GetTransferBuffer(transfer_buffer_id_);
+ DCHECK(buffer.ptr != NULL);
bool share_resources = share_ctx != NULL;
context_.reset(new gpu::gles2::GLES2Implementation(
gles2_cmd_helper_.get(),
- transfer_buffer_.get(),
+ buffer.size,
+ buffer.ptr,
+ transfer_buffer_id_,
share_resources,
true));
- if (!context_->Initialize(
- kTransferBufferSize / 2,
- kTransferBufferSize,
- kTransferBufferSize * 2)) {
- return EGL_NO_CONTEXT;
- }
-
context_->EnableFeatureCHROMIUM("pepper3d_allow_buffers_on_multiple_targets");
context_->EnableFeatureCHROMIUM("pepper3d_support_fixed_attribs");
diff --git a/gpu/gles2_conform_support/egl/display.h b/gpu/gles2_conform_support/egl/display.h
index f7e20e8..19571b3 100644
--- a/gpu/gles2_conform_support/egl/display.h
+++ b/gpu/gles2_conform_support/egl/display.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -19,7 +19,6 @@
namespace gpu {
class CommandBufferService;
class GpuScheduler;
-class TransferBuffer;
namespace gles2 {
class GLES2CmdHelper;
@@ -72,7 +71,7 @@ class Display {
scoped_refptr<gfx::GLContext> gl_context_;
scoped_refptr<gfx::GLSurface> gl_surface_;
scoped_ptr<gpu::gles2::GLES2CmdHelper> gles2_cmd_helper_;
- scoped_ptr<gpu::TransferBuffer> transfer_buffer_;
+ int32 transfer_buffer_id_;
// TODO(alokp): Support more than one config, surface, and context.
scoped_ptr<Config> config_;