diff options
author | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-05 20:14:17 +0000 |
---|---|---|
committer | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-05 20:14:17 +0000 |
commit | dd25504da1b1066aebe38c2c18395d4806faea92 (patch) | |
tree | a5c6e8dc2137912bc409c9532455d58c08e327ec /gpu/command_buffer/service | |
parent | f86fcc2ed582e1a6b3e5e1a92bed15c275933497 (diff) | |
download | chromium_src-dd25504da1b1066aebe38c2c18395d4806faea92.zip chromium_src-dd25504da1b1066aebe38c2c18395d4806faea92.tar.gz chromium_src-dd25504da1b1066aebe38c2c18395d4806faea92.tar.bz2 |
GPU: Build most of the gpu as a single DLL.
BUG=114261
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9581018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124983 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service')
-rw-r--r-- | gpu/command_buffer/service/buffer_manager.h | 5 | ||||
-rw-r--r-- | gpu/command_buffer/service/cmd_parser.h | 5 | ||||
-rw-r--r-- | gpu/command_buffer/service/command_buffer_service.h | 2 | ||||
-rw-r--r-- | gpu/command_buffer/service/common_decoder.h | 7 | ||||
-rw-r--r-- | gpu/command_buffer/service/context_group.h | 3 | ||||
-rw-r--r-- | gpu/command_buffer/service/feature_info.h | 3 | ||||
-rw-r--r-- | gpu/command_buffer/service/framebuffer_manager.h | 7 | ||||
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_decoder.h | 2 | ||||
-rw-r--r-- | gpu/command_buffer/service/gpu_scheduler.h | 7 | ||||
-rw-r--r-- | gpu/command_buffer/service/id_manager.h | 5 | ||||
-rw-r--r-- | gpu/command_buffer/service/program_manager.h | 5 | ||||
-rw-r--r-- | gpu/command_buffer/service/renderbuffer_manager.h | 6 | ||||
-rw-r--r-- | gpu/command_buffer/service/shader_manager.h | 7 | ||||
-rw-r--r-- | gpu/command_buffer/service/shader_translator.h | 6 | ||||
-rw-r--r-- | gpu/command_buffer/service/texture_manager.h | 5 | ||||
-rw-r--r-- | gpu/command_buffer/service/vertex_attrib_manager.h | 5 |
16 files changed, 48 insertions, 32 deletions
diff --git a/gpu/command_buffer/service/buffer_manager.h b/gpu/command_buffer/service/buffer_manager.h index 32be176..f2db2f9 100644 --- a/gpu/command_buffer/service/buffer_manager.h +++ b/gpu/command_buffer/service/buffer_manager.h @@ -12,6 +12,7 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "gpu/command_buffer/service/gl_utils.h" +#include "gpu/gpu_export.h" namespace gpu { namespace gles2 { @@ -21,10 +22,10 @@ namespace gles2 { // // NOTE: To support shared resources an instance of this class will need to be // shared by multiple GLES2Decoders. -class BufferManager { +class GPU_EXPORT BufferManager { public: // Info about Buffers currently in the system. - class BufferInfo : public base::RefCounted<BufferInfo> { + class GPU_EXPORT BufferInfo : public base::RefCounted<BufferInfo> { public: typedef scoped_refptr<BufferInfo> Ref; diff --git a/gpu/command_buffer/service/cmd_parser.h b/gpu/command_buffer/service/cmd_parser.h index 567b7f6..de2fe29 100644 --- a/gpu/command_buffer/service/cmd_parser.h +++ b/gpu/command_buffer/service/cmd_parser.h @@ -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. @@ -9,6 +9,7 @@ #include "gpu/command_buffer/common/constants.h" #include "gpu/command_buffer/common/cmd_buffer_common.h" +#include "gpu/gpu_export.h" namespace gpu { @@ -16,7 +17,7 @@ class AsyncAPIInterface; // Command parser class. This class parses commands from a shared memory // buffer, to implement some asynchronous RPC mechanism. -class CommandParser { +class GPU_EXPORT CommandParser { public: explicit CommandParser(AsyncAPIInterface* handler); diff --git a/gpu/command_buffer/service/command_buffer_service.h b/gpu/command_buffer/service/command_buffer_service.h index 2c59678..8b3e038 100644 --- a/gpu/command_buffer/service/command_buffer_service.h +++ b/gpu/command_buffer/service/command_buffer_service.h @@ -19,7 +19,7 @@ namespace gpu { // An object that implements a shared memory command buffer and a synchronous // API to manage the put and get pointers. -class CommandBufferService : public CommandBuffer { +class GPU_EXPORT CommandBufferService : public CommandBuffer { public: typedef base::Callback<bool(int32)> GetBufferChangedCallback; CommandBufferService(); diff --git a/gpu/command_buffer/service/common_decoder.h b/gpu/command_buffer/service/common_decoder.h index bdc1461..7ac9abb 100644 --- a/gpu/command_buffer/service/common_decoder.h +++ b/gpu/command_buffer/service/common_decoder.h @@ -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. @@ -11,6 +11,7 @@ #include "base/memory/linked_ptr.h" #include "base/memory/scoped_ptr.h" #include "gpu/command_buffer/service/cmd_parser.h" +#include "gpu/gpu_export.h" namespace gpu { @@ -18,7 +19,7 @@ class CommandBufferEngine; // This class is a helper base class for implementing the common parts of the // o3d/gl2 command buffer decoder. -class CommonDecoder : public AsyncAPIInterface { +class GPU_EXPORT CommonDecoder : NON_EXPORTED_BASE(public AsyncAPIInterface) { public: typedef error::Error Error; @@ -46,7 +47,7 @@ class CommonDecoder : public AsyncAPIInterface { // arbitary size, the service puts the string in a bucket. The client can // then query the size of a bucket and request sections of the bucket to // be passed across shared memory. - class Bucket { + class GPU_EXPORT Bucket { public: Bucket(); ~Bucket(); diff --git a/gpu/command_buffer/service/context_group.h b/gpu/command_buffer/service/context_group.h index 9a9943b..7c78f97 100644 --- a/gpu/command_buffer/service/context_group.h +++ b/gpu/command_buffer/service/context_group.h @@ -14,6 +14,7 @@ #include "gpu/command_buffer/common/gles2_cmd_format.h" #include "gpu/command_buffer/service/gles2_cmd_validation.h" #include "gpu/command_buffer/service/feature_info.h" +#include "gpu/gpu_export.h" namespace gpu { @@ -32,7 +33,7 @@ struct DisallowedFeatures; // A Context Group helps manage multiple GLES2Decoders that share // resources. -class ContextGroup : public base::RefCounted<ContextGroup> { +class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> { public: typedef scoped_refptr<ContextGroup> Ref; diff --git a/gpu/command_buffer/service/feature_info.h b/gpu/command_buffer/service/feature_info.h index 3fcf3c9..bdb4c0a 100644 --- a/gpu/command_buffer/service/feature_info.h +++ b/gpu/command_buffer/service/feature_info.h @@ -9,12 +9,13 @@ #include "base/memory/ref_counted.h" #include "gpu/command_buffer/service/gles2_cmd_decoder.h" #include "gpu/command_buffer/service/gles2_cmd_validation.h" +#include "gpu/gpu_export.h" namespace gpu { namespace gles2 { // FeatureInfo records the features that are available for a ContextGroup. -class FeatureInfo : public base::RefCounted<FeatureInfo> { +class GPU_EXPORT FeatureInfo : public base::RefCounted<FeatureInfo> { public: typedef scoped_refptr<FeatureInfo> Ref; diff --git a/gpu/command_buffer/service/framebuffer_manager.h b/gpu/command_buffer/service/framebuffer_manager.h index f66b519..a21fa8e 100644 --- a/gpu/command_buffer/service/framebuffer_manager.h +++ b/gpu/command_buffer/service/framebuffer_manager.h @@ -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. @@ -12,16 +12,17 @@ #include "gpu/command_buffer/service/gl_utils.h" #include "gpu/command_buffer/service/renderbuffer_manager.h" #include "gpu/command_buffer/service/texture_manager.h" +#include "gpu/gpu_export.h" namespace gpu { namespace gles2 { // This class keeps track of the frambebuffers and their attached renderbuffers // so we can correctly clear them. -class FramebufferManager { +class GPU_EXPORT FramebufferManager { public: // Info about Framebuffers currently in the system. - class FramebufferInfo : public base::RefCounted<FramebufferInfo> { + class GPU_EXPORT FramebufferInfo : public base::RefCounted<FramebufferInfo> { public: typedef scoped_refptr<FramebufferInfo> Ref; diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.h b/gpu/command_buffer/service/gles2_cmd_decoder.h index cb17176..89e1dd7 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.h +++ b/gpu/command_buffer/service/gles2_cmd_decoder.h @@ -40,7 +40,7 @@ struct DisallowedFeatures { // This class implements the AsyncAPIInterface interface, decoding GLES2 // commands and calling GL. -class GLES2Decoder : public CommonDecoder { +class GPU_EXPORT GLES2Decoder : public CommonDecoder { public: typedef error::Error Error; typedef base::Callback<void(int32 id, const std::string& msg)> MsgCallback; diff --git a/gpu/command_buffer/service/gpu_scheduler.h b/gpu/command_buffer/service/gpu_scheduler.h index 7a7bdff..a03ffdf 100644 --- a/gpu/command_buffer/service/gpu_scheduler.h +++ b/gpu/command_buffer/service/gpu_scheduler.h @@ -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. @@ -16,6 +16,7 @@ #include "gpu/command_buffer/service/cmd_buffer_engine.h" #include "gpu/command_buffer/service/cmd_parser.h" #include "gpu/command_buffer/service/gles2_cmd_decoder.h" +#include "gpu/gpu_export.h" namespace gfx { class GLFence; @@ -27,8 +28,8 @@ namespace gpu { // a command buffer and forwarded to a command parser. TODO(apatrick): This // class should not know about the decoder. Do not add additional dependencies // on it. -class GpuScheduler - : public CommandBufferEngine, +class GPU_EXPORT GpuScheduler + : NON_EXPORTED_BASE(public CommandBufferEngine), public base::SupportsWeakPtr<GpuScheduler> { public: GpuScheduler(CommandBuffer* command_buffer, diff --git a/gpu/command_buffer/service/id_manager.h b/gpu/command_buffer/service/id_manager.h index 3668534..bffbc94 100644 --- a/gpu/command_buffer/service/id_manager.h +++ b/gpu/command_buffer/service/id_manager.h @@ -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. @@ -8,6 +8,7 @@ #include "base/basictypes.h" #include "base/hash_tables.h" #include "gpu/command_buffer/service/gl_utils.h" +#include "gpu/gpu_export.h" namespace gpu { namespace gles2 { @@ -16,7 +17,7 @@ namespace gles2 { // // NOTE: To support shared resources an instance of this class will // need to be shared by multiple GLES2Decoders. -class IdManager { +class GPU_EXPORT IdManager { public: IdManager(); ~IdManager(); diff --git a/gpu/command_buffer/service/program_manager.h b/gpu/command_buffer/service/program_manager.h index 3e4f3bdf..c627957 100644 --- a/gpu/command_buffer/service/program_manager.h +++ b/gpu/command_buffer/service/program_manager.h @@ -15,6 +15,7 @@ #include "gpu/command_buffer/service/common_decoder.h" #include "gpu/command_buffer/service/gl_utils.h" #include "gpu/command_buffer/service/shader_manager.h" +#include "gpu/gpu_export.h" namespace gpu { namespace gles2 { @@ -23,12 +24,12 @@ namespace gles2 { // // NOTE: To support shared resources an instance of this class will // need to be shared by multiple GLES2Decoders. -class ProgramManager { +class GPU_EXPORT ProgramManager { public: // This is used to track which attributes a particular program needs // so we can verify at glDrawXXX time that every attribute is either disabled // or if enabled that it points to a valid source. - class ProgramInfo : public base::RefCounted<ProgramInfo> { + class GPU_EXPORT ProgramInfo : public base::RefCounted<ProgramInfo> { public: typedef scoped_refptr<ProgramInfo> Ref; diff --git a/gpu/command_buffer/service/renderbuffer_manager.h b/gpu/command_buffer/service/renderbuffer_manager.h index 8cfd993..0d29c2c 100644 --- a/gpu/command_buffer/service/renderbuffer_manager.h +++ b/gpu/command_buffer/service/renderbuffer_manager.h @@ -10,16 +10,18 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "gpu/command_buffer/service/gl_utils.h" +#include "gpu/gpu_export.h" namespace gpu { namespace gles2 { // This class keeps track of the renderbuffers and whether or not they have // been cleared. -class RenderbufferManager { +class GPU_EXPORT RenderbufferManager { public: // Info about Renderbuffers currently in the system. - class RenderbufferInfo : public base::RefCounted<RenderbufferInfo> { + class GPU_EXPORT RenderbufferInfo + : public base::RefCounted<RenderbufferInfo> { public: typedef scoped_refptr<RenderbufferInfo> Ref; diff --git a/gpu/command_buffer/service/shader_manager.h b/gpu/command_buffer/service/shader_manager.h index 4168152..04b431a 100644 --- a/gpu/command_buffer/service/shader_manager.h +++ b/gpu/command_buffer/service/shader_manager.h @@ -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. @@ -13,6 +13,7 @@ #include "base/memory/scoped_ptr.h" #include "gpu/command_buffer/service/gl_utils.h" #include "gpu/command_buffer/service/shader_translator.h" +#include "gpu/gpu_export.h" namespace gpu { namespace gles2 { @@ -21,13 +22,13 @@ namespace gles2 { // // NOTE: To support shared resources an instance of this class will // need to be shared by multiple GLES2Decoders. -class ShaderManager { +class GPU_EXPORT ShaderManager { public: // This is used to keep the source code for a shader. This is because in order // to emluate GLES2 the shaders will have to be re-written before passed to // the underlying OpenGL. But, when the user calls glGetShaderSource they // should get the source they passed in, not the re-written source. - class ShaderInfo : public base::RefCounted<ShaderInfo> { + class GPU_EXPORT ShaderInfo : public base::RefCounted<ShaderInfo> { public: typedef scoped_refptr<ShaderInfo> Ref; typedef ShaderTranslator::VariableInfo VariableInfo; diff --git a/gpu/command_buffer/service/shader_translator.h b/gpu/command_buffer/service/shader_translator.h index af132b9..ea981c6 100644 --- a/gpu/command_buffer/service/shader_translator.h +++ b/gpu/command_buffer/service/shader_translator.h @@ -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. @@ -10,6 +10,7 @@ #include "base/basictypes.h" #include "base/hash_tables.h" #include "base/memory/scoped_ptr.h" +#include "gpu/gpu_export.h" #include "third_party/angle/include/GLSLANG/ShaderLang.h" namespace gpu { @@ -72,7 +73,8 @@ class ShaderTranslatorInterface { }; // Implementation of ShaderTranslatorInterface -class ShaderTranslator : public ShaderTranslatorInterface { +class GPU_EXPORT ShaderTranslator + : NON_EXPORTED_BASE(public ShaderTranslatorInterface) { public: ShaderTranslator(); virtual ~ShaderTranslator(); diff --git a/gpu/command_buffer/service/texture_manager.h b/gpu/command_buffer/service/texture_manager.h index 3fdc258..e55c012 100644 --- a/gpu/command_buffer/service/texture_manager.h +++ b/gpu/command_buffer/service/texture_manager.h @@ -12,6 +12,7 @@ #include "base/memory/ref_counted.h" #include "gpu/command_buffer/service/feature_info.h" #include "gpu/command_buffer/service/gl_utils.h" +#include "gpu/gpu_export.h" namespace gpu { namespace gles2 { @@ -23,7 +24,7 @@ class GLES2Decoder; // // NOTE: To support shared resources an instance of this class will need to be // shared by multiple GLES2Decoders. -class TextureManager { +class GPU_EXPORT TextureManager { public: enum DefaultAndBlackTextures { kTexture2D, @@ -34,7 +35,7 @@ class TextureManager { }; // Info about Textures currently in the system. - class TextureInfo : public base::RefCounted<TextureInfo> { + class GPU_EXPORT TextureInfo : public base::RefCounted<TextureInfo> { public: typedef scoped_refptr<TextureInfo> Ref; diff --git a/gpu/command_buffer/service/vertex_attrib_manager.h b/gpu/command_buffer/service/vertex_attrib_manager.h index cd24abd..c42c8d6 100644 --- a/gpu/command_buffer/service/vertex_attrib_manager.h +++ b/gpu/command_buffer/service/vertex_attrib_manager.h @@ -8,17 +8,18 @@ #include "build/build_config.h" #include "gpu/command_buffer/service/buffer_manager.h" #include "gpu/command_buffer/service/gl_utils.h" +#include "gpu/gpu_export.h" namespace gpu { namespace gles2 { // Manages vertex attributes. -class VertexAttribManager { +class GPU_EXPORT VertexAttribManager { public: // Info about Vertex Attributes. This is used to track what the user currently // has bound on each Vertex Attribute so that checking can be done at // glDrawXXX time. - class VertexAttribInfo { + class GPU_EXPORT VertexAttribInfo { public: typedef std::list<VertexAttribInfo*> VertexAttribInfoList; struct Vec4 { |