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

Unified Diff: webkit/tools/pepper_test_plugin/plugin_object.cc

Issue 550048: Revert 36268 - Implemented PGL library, an EGL like API for Pepper. Updated P... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 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 | « webkit/tools/pepper_test_plugin/plugin_object.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/tools/pepper_test_plugin/plugin_object.cc
===================================================================
--- webkit/tools/pepper_test_plugin/plugin_object.cc (revision 36269)
+++ webkit/tools/pepper_test_plugin/plugin_object.cc (working copy)
@@ -34,8 +34,8 @@
#define CHECK(x)
#else
#include "base/logging.h"
+#include "gpu/command_buffer/client/gles2_lib.h"
#include "gpu/command_buffer/client/gles2_demo_cc.h"
-#include "gpu/command_buffer/common/gles2/gl2.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/effects/SkGradientShader.h"
@@ -288,8 +288,6 @@
context->config.userData = reinterpret_cast<void *>(t);
}
-const int32 kCommandBufferSize = 1024 * 1024;
-
} // namespace
@@ -298,10 +296,7 @@
PluginObject::PluginObject(NPP npp)
: npp_(npp),
test_object_(browser->createobject(npp, GetTestClass())),
- device2d_(NULL),
- device3d_(NULL),
- deviceaudio_(NULL),
- pgl_context_(NULL) {
+ device2d_(NULL) {
memset(&context_audio_, 0, sizeof(context_audio_));
}
@@ -342,9 +337,6 @@
device2d_ = extensions->acquireDevice(npp_, NPPepper2DDevice);
CHECK(device2d_);
- device3d_ = extensions->acquireDevice(npp_, NPPepper3DDevice);
- CHECK(device3d_);
-
deviceaudio_ = extensions->acquireDevice(npp_, NPPepperAudioDevice);
CHECK(deviceaudio_);
}
@@ -367,20 +359,12 @@
device2d_->flushContext(npp_, &context, callback, NULL);
} else {
#if !defined(INDEPENDENT_PLUGIN)
- if (!pgl_context_) {
- // Initialize a 3D context.
- NPDeviceContext3DConfig config;
- config.commandBufferEntries = kCommandBufferSize;
- device3d_->initializeContext(npp_, &config, &context3d_);
-
- // Create a PGL context.
- pgl_context_ = pglCreateContext(npp_, device3d_, &context3d_);
+ if (!command_buffer_.get()) {
+ if (!InitializeCommandBuffer())
+ return;
}
- // Reset the viewport to new window size.
- pglMakeCurrent(pgl_context_);
- glViewport(0, 0, window.width, window.height);
- pglMakeCurrent(NULL);
+ gles2_implementation_->Viewport(0, 0, window.width, window.height);
// Schedule the first call to Draw.
browser->pluginthreadasynccall(npp_, Draw3DCallback, this);
@@ -404,12 +388,44 @@
void PluginObject::Draw3D() {
#if !defined(INDEPENDENT_PLUGIN)
// Render some stuff.
- pglMakeCurrent(pgl_context_);
+ gles2::g_gl_impl = gles2_implementation_.get();
GLFromCPPTestFunction();
- pglSwapBuffers();
- pglMakeCurrent(NULL);
+ gles2::GetGLContext()->SwapBuffers();
+ helper_->Flush();
+ gles2::g_gl_impl = NULL;
// Schedule another call to Draw.
browser->pluginthreadasynccall(npp_, Draw3DCallback, this);
#endif
}
+
+bool PluginObject::InitializeCommandBuffer() {
+#if !defined(INDEPENDENT_PLUGIN)
+ static const int32 kCommandBufferSize = 512 * 1024;
+ command_buffer_.reset(new CommandBufferPepper(npp_, browser));
+ if (command_buffer_->Initialize(kCommandBufferSize)) {
+ helper_.reset(new gpu::gles2::GLES2CmdHelper(command_buffer_.get()));
+ if (helper_->Initialize()) {
+ const int32 kTransferBufferSize = 512 * 1024;
+ int32 transfer_buffer_id =
+ command_buffer_->CreateTransferBuffer(kTransferBufferSize);
+ gpu::Buffer transfer_buffer =
+ command_buffer_->GetTransferBuffer(transfer_buffer_id);
+ if (transfer_buffer.ptr) {
+ gles2_implementation_.reset(new gpu::gles2::GLES2Implementation(
+ helper_.get(),
+ transfer_buffer.size,
+ transfer_buffer.ptr,
+ transfer_buffer_id));
+ return true;
+ }
+ }
+
+ helper_.reset();
+ }
+
+ command_buffer_.reset();
+#endif
+
+ return false;
+}
« no previous file with comments | « webkit/tools/pepper_test_plugin/plugin_object.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698