| Index: gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.h
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.h b/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.h
|
| index 097eb2ce46e80df41c34955b116a90618647c6a9..de022bb8c3891b5ee4498d6673a608e04fa8d6cd 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.h
|
| +++ b/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_COPY_TEXTURE_CHROMIUM_H_
|
| #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_COPY_TEXTURE_CHROMIUM_H_
|
|
|
| +#include "base/containers/hash_tables.h"
|
| #include "gpu/command_buffer/service/gl_utils.h"
|
| #include "gpu/gpu_export.h"
|
|
|
| @@ -21,6 +22,7 @@ class GLES2Decoder;
|
| class GPU_EXPORT CopyTextureCHROMIUMResourceManager {
|
| public:
|
| CopyTextureCHROMIUMResourceManager();
|
| + ~CopyTextureCHROMIUMResourceManager();
|
|
|
| void Initialize(const gles2::GLES2Decoder* decoder);
|
| void Destroy();
|
| @@ -45,14 +47,21 @@ class GPU_EXPORT CopyTextureCHROMIUMResourceManager {
|
| static const GLuint kVertexPositionAttrib = 0;
|
|
|
| private:
|
| - bool initialized_;
|
| + struct ProgramInfo {
|
| + ProgramInfo() : program(0u), matrix_handle(0u), sampler_locations(0u) {}
|
| +
|
| + GLuint program;
|
| + GLuint matrix_handle;
|
| + GLuint sampler_locations;
|
| + };
|
|
|
| - static const int kNumPrograms = 12;
|
| - GLuint programs_[kNumPrograms];
|
| + bool initialized_;
|
| + typedef std::pair<int, int> ProgramMapKey;
|
| + typedef base::hash_map<ProgramMapKey, ProgramInfo> ProgramMap;
|
| + ProgramMap programs_;
|
| GLuint buffer_id_;
|
| GLuint framebuffer_;
|
| - GLuint matrix_handle_[kNumPrograms];
|
| - GLuint sampler_locations_[kNumPrograms];
|
| + GLuint vertex_shader_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(CopyTextureCHROMIUMResourceManager);
|
| };
|
|
|