| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "gpu/command_buffer/service/context_group.h" | 5 #include "gpu/command_buffer/service/context_group.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 if (feature_info_->feature_flags().ext_draw_buffers) { | 106 if (feature_info_->feature_flags().ext_draw_buffers) { |
| 107 GetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, &max_color_attachments_); | 107 GetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, &max_color_attachments_); |
| 108 if (max_color_attachments_ < 1) | 108 if (max_color_attachments_ < 1) |
| 109 max_color_attachments_ = 1; | 109 max_color_attachments_ = 1; |
| 110 GetIntegerv(GL_MAX_DRAW_BUFFERS_ARB, &max_draw_buffers_); | 110 GetIntegerv(GL_MAX_DRAW_BUFFERS_ARB, &max_draw_buffers_); |
| 111 if (max_draw_buffers_ < 1) | 111 if (max_draw_buffers_ < 1) |
| 112 max_draw_buffers_ = 1; | 112 max_draw_buffers_ = 1; |
| 113 draw_buffer_ = GL_BACK; | 113 draw_buffer_ = GL_BACK; |
| 114 } | 114 } |
| 115 | 115 |
| 116 buffer_manager_.reset(new BufferManager( | 116 buffer_manager_.reset( |
| 117 memory_tracker_, feature_info_.get())); | 117 new BufferManager(memory_tracker_.get(), feature_info_.get())); |
| 118 framebuffer_manager_.reset( | 118 framebuffer_manager_.reset( |
| 119 new FramebufferManager(max_draw_buffers_, max_color_attachments_)); | 119 new FramebufferManager(max_draw_buffers_, max_color_attachments_)); |
| 120 renderbuffer_manager_.reset(new RenderbufferManager(memory_tracker_, | 120 renderbuffer_manager_.reset(new RenderbufferManager( |
| 121 max_renderbuffer_size, | 121 memory_tracker_.get(), max_renderbuffer_size, max_samples)); |
| 122 max_samples)); | |
| 123 shader_manager_.reset(new ShaderManager()); | 122 shader_manager_.reset(new ShaderManager()); |
| 124 program_manager_.reset(new ProgramManager(program_cache_)); | 123 program_manager_.reset(new ProgramManager(program_cache_)); |
| 125 | 124 |
| 126 // Lookup GL things we need to know. | 125 // Lookup GL things we need to know. |
| 127 const GLint kGLES2RequiredMinimumVertexAttribs = 8u; | 126 const GLint kGLES2RequiredMinimumVertexAttribs = 8u; |
| 128 if (!QueryGLFeatureU( | 127 if (!QueryGLFeatureU( |
| 129 GL_MAX_VERTEX_ATTRIBS, kGLES2RequiredMinimumVertexAttribs, | 128 GL_MAX_VERTEX_ATTRIBS, kGLES2RequiredMinimumVertexAttribs, |
| 130 &max_vertex_attribs_)) { | 129 &max_vertex_attribs_)) { |
| 131 LOG(ERROR) << "ContextGroup::Initialize failed because too few " | 130 LOG(ERROR) << "ContextGroup::Initialize failed because too few " |
| 132 << "vertex attributes supported."; | 131 << "vertex attributes supported."; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 159 if (feature_info_->workarounds().max_texture_size) { | 158 if (feature_info_->workarounds().max_texture_size) { |
| 160 max_texture_size = std::min( | 159 max_texture_size = std::min( |
| 161 max_texture_size, feature_info_->workarounds().max_texture_size); | 160 max_texture_size, feature_info_->workarounds().max_texture_size); |
| 162 } | 161 } |
| 163 if (feature_info_->workarounds().max_cube_map_texture_size) { | 162 if (feature_info_->workarounds().max_cube_map_texture_size) { |
| 164 max_cube_map_texture_size = std::min( | 163 max_cube_map_texture_size = std::min( |
| 165 max_cube_map_texture_size, | 164 max_cube_map_texture_size, |
| 166 feature_info_->workarounds().max_cube_map_texture_size); | 165 feature_info_->workarounds().max_cube_map_texture_size); |
| 167 } | 166 } |
| 168 | 167 |
| 169 texture_manager_.reset(new TextureManager(memory_tracker_, | 168 texture_manager_.reset(new TextureManager(memory_tracker_.get(), |
| 170 feature_info_.get(), | 169 feature_info_.get(), |
| 171 max_texture_size, | 170 max_texture_size, |
| 172 max_cube_map_texture_size)); | 171 max_cube_map_texture_size)); |
| 173 texture_manager_->set_framebuffer_manager(framebuffer_manager_.get()); | 172 texture_manager_->set_framebuffer_manager(framebuffer_manager_.get()); |
| 174 | 173 |
| 175 const GLint kMinTextureImageUnits = 8; | 174 const GLint kMinTextureImageUnits = 8; |
| 176 const GLint kMinVertexTextureImageUnits = 0; | 175 const GLint kMinVertexTextureImageUnits = 0; |
| 177 if (!QueryGLFeatureU( | 176 if (!QueryGLFeatureU( |
| 178 GL_MAX_TEXTURE_IMAGE_UNITS, kMinTextureImageUnits, | 177 GL_MAX_TEXTURE_IMAGE_UNITS, kMinTextureImageUnits, |
| 179 &max_texture_image_units_) || | 178 &max_texture_image_units_) || |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 GLenum pname, GLint min_required, uint32* v) { | 353 GLenum pname, GLint min_required, uint32* v) { |
| 355 uint32 value = 0; | 354 uint32 value = 0; |
| 356 GetIntegerv(pname, &value); | 355 GetIntegerv(pname, &value); |
| 357 bool result = CheckGLFeatureU(min_required, &value); | 356 bool result = CheckGLFeatureU(min_required, &value); |
| 358 *v = value; | 357 *v = value; |
| 359 return result; | 358 return result; |
| 360 } | 359 } |
| 361 | 360 |
| 362 } // namespace gles2 | 361 } // namespace gles2 |
| 363 } // namespace gpu | 362 } // namespace gpu |
| OLD | NEW |