summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-05 04:11:13 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-05 04:11:13 +0000
commit7706e5e3598efb51d021a64f34f2c2d3e390be6f (patch)
tree0f39b8c6076c80ed0efe9a0a71fcaed3ebdd1ab9 /gpu
parent9561ea774cff1ee6542d699d09099423d5c518be (diff)
downloadchromium_src-7706e5e3598efb51d021a64f34f2c2d3e390be6f.zip
chromium_src-7706e5e3598efb51d021a64f34f2c2d3e390be6f.tar.gz
chromium_src-7706e5e3598efb51d021a64f34f2c2d3e390be6f.tar.bz2
Revert 35509 - linux: implement gpu plugin
Review URL: http://codereview.chromium.org/500132 TBR=piman@chromium.org Review URL: http://codereview.chromium.org/525022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35511 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.cc7
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.h8
-rw-r--r--gpu/command_buffer/service/gpu_processor.cc21
-rw-r--r--gpu/command_buffer/service/gpu_processor_linux.cc50
-rw-r--r--gpu/command_buffer/service/gpu_processor_win.cc19
-rw-r--r--gpu/gpu.gyp4
-rw-r--r--gpu/gpu_plugin/gpu_plugin.cc9
7 files changed, 27 insertions, 91 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index 8b1fcf5..29d82f9 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -14,9 +14,6 @@
#include "gpu/command_buffer/service/cmd_buffer_engine.h"
#include "gpu/command_buffer/service/gl_utils.h"
#include "gpu/command_buffer/service/gles2_cmd_validation.h"
-#if defined(OS_LINUX)
-#include "gpu/command_buffer/service/x_utils.h"
-#endif
namespace gpu {
namespace gles2 {
@@ -985,6 +982,7 @@ parse_error::ParseError GLES2DecoderImpl::DoCommand(
parse_error::ParseError result = parse_error::kParseNoError;
if (debug()) {
// TODO(gman): Change output to something useful for NaCl.
+ const char* f = GetCommandName(command);
printf("cmd: %s\n", GetCommandName(command));
}
unsigned int command_index = command - kStartPoint - 1;
@@ -1219,7 +1217,7 @@ void GLES2DecoderImpl::UpdateProgramInfo(GLuint program) {
program, ii, max_len + 1, &length, &size, &type, name_buffer.get());
// TODO(gman): Should we check for error?
GLint location = glGetAttribLocation(program, name_buffer.get());
- info->SetAttributeLocation(ii, location);
+ info->SetAttributeLocation(ii, num_attribs);
}
}
@@ -1759,3 +1757,4 @@ parse_error::ParseError GLES2DecoderImpl::HandleGetActiveAttrib(
} // namespace gles2
} // namespace gpu
+
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.h b/gpu/command_buffer/service/gles2_cmd_decoder.h
index 09d00f4..646fbcc 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.h
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.h
@@ -8,16 +8,14 @@
#define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_
#include <build/build_config.h>
-#if defined(OS_WIN)
+#if defined(OS_LINUX)
+#include "gpu/command_buffer/service/x_utils.h"
+#elif defined(OS_WIN)
#include <windows.h>
#endif
#include "gpu/command_buffer/service/common_decoder.h"
namespace gpu {
-// Forward-declared instead of including x_utils.h, because including glx.h
-// causes havok.
-class XWindowWrapper;
-
namespace gles2 {
// This class implements the AsyncAPIInterface interface, decoding GLES2
diff --git a/gpu/command_buffer/service/gpu_processor.cc b/gpu/command_buffer/service/gpu_processor.cc
index c095341..0968215 100644
--- a/gpu/command_buffer/service/gpu_processor.cc
+++ b/gpu/command_buffer/service/gpu_processor.cc
@@ -9,25 +9,6 @@ using ::base::SharedMemory;
namespace gpu {
-GPUProcessor::GPUProcessor(CommandBuffer* command_buffer)
- : command_buffer_(command_buffer),
- commands_per_update_(100) {
- DCHECK(command_buffer);
- decoder_.reset(gles2::GLES2Decoder::Create());
- decoder_->set_engine(this);
-}
-
-GPUProcessor::GPUProcessor(CommandBuffer* command_buffer,
- gles2::GLES2Decoder* decoder,
- CommandParser* parser,
- int commands_per_update)
- : command_buffer_(command_buffer),
- commands_per_update_(commands_per_update) {
- DCHECK(command_buffer);
- decoder_.reset(decoder);
- parser_.reset(parser);
-}
-
GPUProcessor::~GPUProcessor() {
}
@@ -51,8 +32,6 @@ void GPUProcessor::ProcessCommands() {
command_buffer_->SetParseError(parse_error);
command_buffer_->RaiseErrorStatus();
return;
- case gpu::parse_error::kParseNoError:
- break;
}
++commands_processed;
diff --git a/gpu/command_buffer/service/gpu_processor_linux.cc b/gpu/command_buffer/service/gpu_processor_linux.cc
deleted file mode 100644
index 205cceb..0000000
--- a/gpu/command_buffer/service/gpu_processor_linux.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (c) 2009 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.
-
-#include <gdk/gdkx.h>
-#include "gpu/command_buffer/service/gpu_processor.h"
-#include "gpu/command_buffer/service/x_utils.h"
-
-using ::base::SharedMemory;
-
-namespace gpu {
-
-bool GPUProcessor::Initialize(gfx::PluginWindowHandle handle) {
- DCHECK(handle);
-
- // Cannot reinitialize.
- if (decoder_->window() != NULL)
- return false;
-
- // Map the ring buffer and create the parser.
- Buffer ring_buffer = command_buffer_->GetRingBuffer();
- if (ring_buffer.ptr) {
- parser_.reset(new CommandParser(ring_buffer.ptr,
- ring_buffer.size,
- 0,
- ring_buffer.size,
- 0,
- decoder_.get()));
- } else {
- parser_.reset(new CommandParser(NULL, 0, 0, 0, 0,
- decoder_.get()));
- }
-
- // Initialize GAPI immediately if the window handle is valid.
- XWindowWrapper *window = new XWindowWrapper(GDK_DISPLAY(), handle);
- decoder_->set_window_wrapper(window);
- return decoder_->Initialize();
-}
-
-void GPUProcessor::Destroy() {
- // Destroy GAPI if window handle has not already become invalid.
- XWindowWrapper *window = decoder_->window();
- if (window) {
- decoder_->Destroy();
- decoder_->set_window_wrapper(NULL);
- delete window;
- }
-}
-
-} // namespace gpu
diff --git a/gpu/command_buffer/service/gpu_processor_win.cc b/gpu/command_buffer/service/gpu_processor_win.cc
index bef34d8..6a05845 100644
--- a/gpu/command_buffer/service/gpu_processor_win.cc
+++ b/gpu/command_buffer/service/gpu_processor_win.cc
@@ -10,6 +10,25 @@ using ::base::SharedMemory;
namespace gpu {
+GPUProcessor::GPUProcessor(CommandBuffer* command_buffer)
+ : command_buffer_(command_buffer),
+ commands_per_update_(100) {
+ DCHECK(command_buffer);
+ decoder_.reset(gles2::GLES2Decoder::Create());
+ decoder_->set_engine(this);
+}
+
+GPUProcessor::GPUProcessor(CommandBuffer* command_buffer,
+ gles2::GLES2Decoder* decoder,
+ CommandParser* parser,
+ int commands_per_update)
+ : command_buffer_(command_buffer),
+ commands_per_update_(commands_per_update) {
+ DCHECK(command_buffer);
+ decoder_.reset(decoder);
+ parser_.reset(parser);
+}
+
bool GPUProcessor::Initialize(gfx::PluginWindowHandle handle) {
DCHECK(handle);
diff --git a/gpu/gpu.gyp b/gpu/gpu.gyp
index ee00088..d056bea 100644
--- a/gpu/gpu.gyp
+++ b/gpu/gpu.gyp
@@ -250,13 +250,9 @@
['OS == "linux"',
{
'sources': [
- 'command_buffer/service/gpu_processor_linux.cc',
'command_buffer/service/x_utils.cc',
'command_buffer/service/x_utils.h',
],
- 'dependencies': [
- '../build/linux/system.gyp:gtk',
- ]
},
],
['OS == "win"',
diff --git a/gpu/gpu_plugin/gpu_plugin.cc b/gpu/gpu_plugin/gpu_plugin.cc
index dc69e61..10df734 100644
--- a/gpu/gpu_plugin/gpu_plugin.cc
+++ b/gpu/gpu_plugin/gpu_plugin.cc
@@ -38,13 +38,8 @@ int16 NPP_HandleEvent(NPP instance, void* event) {
NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value) {
if (!instance)
return NPERR_INVALID_INSTANCE_ERROR;
- switch (variable) {
- case NPPVpluginNeedsXEmbed:
- *static_cast<NPBool *>(value) = 1;
- return NPERR_NO_ERROR;
- default:
- return NPERR_INVALID_PARAM;
- }
+
+ return NPERR_GENERIC_ERROR;
}
NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value) {