Chromium Code Reviews| 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..a34fd7c143395e913635358a16c6fdf73133cba4 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,8 @@ |
| #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_COPY_TEXTURE_CHROMIUM_H_ |
| #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_COPY_TEXTURE_CHROMIUM_H_ |
| +#include <map> |
| + |
| #include "gpu/command_buffer/service/gl_utils.h" |
| #include "gpu/gpu_export.h" |
| @@ -21,6 +23,7 @@ class GLES2Decoder; |
| class GPU_EXPORT CopyTextureCHROMIUMResourceManager { |
| public: |
| CopyTextureCHROMIUMResourceManager(); |
| + ~CopyTextureCHROMIUMResourceManager(); |
| void Initialize(const gles2::GLES2Decoder* decoder); |
| void Destroy(); |
| @@ -45,14 +48,21 @@ class GPU_EXPORT CopyTextureCHROMIUMResourceManager { |
| static const GLuint kVertexPositionAttrib = 0; |
| private: |
| - bool initialized_; |
| + struct ProgramInfo { |
| + ProgramInfo() : program(0u), matrix_handle(0u), sampler_locations(0u) {} |
| - static const int kNumPrograms = 12; |
| - GLuint programs_[kNumPrograms]; |
| + GLuint program; |
| + GLuint matrix_handle; |
| + GLuint sampler_locations; |
| + }; |
| + |
| + bool initialized_; |
| + typedef std::pair<int, int> ProgramMapKey; |
| + typedef std::map<ProgramMapKey, ProgramInfo> ProgramMap; |
|
piman
2014/04/25 03:30:40
nit: hash_map, or even SmallMap.
reveman
2014/04/25 20:27:10
Done.
|
| + ProgramMap programs_; |
| GLuint buffer_id_; |
| GLuint framebuffer_; |
| - GLuint matrix_handle_[kNumPrograms]; |
| - GLuint sampler_locations_[kNumPrograms]; |
| + GLuint vertex_shader_; |
| DISALLOW_COPY_AND_ASSIGN(CopyTextureCHROMIUMResourceManager); |
| }; |