| 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_state.h" | 5 #include "gpu/command_buffer/service/context_state.h" |
| 6 | 6 |
| 7 #include "gpu/command_buffer/common/gles2_cmd_utils.h" | 7 #include "gpu/command_buffer/common/gles2_cmd_utils.h" |
| 8 #include "gpu/command_buffer/service/buffer_manager.h" | 8 #include "gpu/command_buffer/service/buffer_manager.h" |
| 9 #include "gpu/command_buffer/service/error_state.h" |
| 9 #include "gpu/command_buffer/service/framebuffer_manager.h" | 10 #include "gpu/command_buffer/service/framebuffer_manager.h" |
| 10 #include "gpu/command_buffer/service/program_manager.h" | 11 #include "gpu/command_buffer/service/program_manager.h" |
| 11 #include "gpu/command_buffer/service/renderbuffer_manager.h" | 12 #include "gpu/command_buffer/service/renderbuffer_manager.h" |
| 12 #include "ui/gl/gl_bindings.h" | 13 #include "ui/gl/gl_bindings.h" |
| 13 #include "ui/gl/gl_implementation.h" | 14 #include "ui/gl/gl_implementation.h" |
| 14 | 15 |
| 15 namespace gpu { | 16 namespace gpu { |
| 16 namespace gles2 { | 17 namespace gles2 { |
| 17 | 18 |
| 18 namespace { | 19 namespace { |
| 19 | 20 |
| 20 void EnableDisable(GLenum pname, bool enable) { | 21 void EnableDisable(GLenum pname, bool enable) { |
| 21 if (enable) { | 22 if (enable) { |
| 22 glEnable(pname); | 23 glEnable(pname); |
| 23 } else { | 24 } else { |
| 24 glDisable(pname); | 25 glDisable(pname); |
| 25 } | 26 } |
| 26 } | 27 } |
| 27 | 28 |
| 28 } // anonymous namespace. | 29 } // anonymous namespace. |
| 29 | 30 |
| 30 TextureUnit::TextureUnit() | 31 TextureUnit::TextureUnit() |
| 31 : bind_target(GL_TEXTURE_2D) { | 32 : bind_target(GL_TEXTURE_2D) { |
| 32 } | 33 } |
| 33 | 34 |
| 34 TextureUnit::~TextureUnit() { | 35 TextureUnit::~TextureUnit() { |
| 35 } | 36 } |
| 36 | 37 |
| 37 ContextState::ContextState(FeatureInfo* feature_info) | 38 ContextState::ContextState(FeatureInfo* feature_info, Logger* logger) |
| 38 : pack_alignment(4), | 39 : pack_alignment(4), |
| 39 unpack_alignment(4), | 40 unpack_alignment(4), |
| 40 active_texture_unit(0), | 41 active_texture_unit(0), |
| 41 hint_generate_mipmap(GL_DONT_CARE), | 42 hint_generate_mipmap(GL_DONT_CARE), |
| 42 hint_fragment_shader_derivative(GL_DONT_CARE), | 43 hint_fragment_shader_derivative(GL_DONT_CARE), |
| 43 pack_reverse_row_order(false), | 44 pack_reverse_row_order(false), |
| 44 fbo_binding_for_scissor_workaround_dirty_(false), | 45 fbo_binding_for_scissor_workaround_dirty_(false), |
| 45 feature_info_(feature_info) { | 46 feature_info_(feature_info), |
| 47 error_state_(ErrorState::Create(logger)) { |
| 46 Initialize(); | 48 Initialize(); |
| 47 } | 49 } |
| 48 | 50 |
| 49 ContextState::~ContextState() { | 51 ContextState::~ContextState() { |
| 50 } | 52 } |
| 51 | 53 |
| 52 void ContextState::RestoreTextureUnitBindings(GLuint unit) const { | 54 void ContextState::RestoreTextureUnitBindings(GLuint unit) const { |
| 53 DCHECK_LT(unit, texture_units.size()); | 55 DCHECK_LT(unit, texture_units.size()); |
| 54 const TextureUnit& texture_unit = texture_units[unit]; | 56 const TextureUnit& texture_unit = texture_units[unit]; |
| 55 glActiveTexture(GL_TEXTURE0 + unit); | 57 glActiveTexture(GL_TEXTURE0 + unit); |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 RestoreAttribute(attrib); | 156 RestoreAttribute(attrib); |
| 155 } | 157 } |
| 156 } | 158 } |
| 157 | 159 |
| 158 RestoreBufferBindings(); | 160 RestoreBufferBindings(); |
| 159 RestoreRenderbufferBindings(); | 161 RestoreRenderbufferBindings(); |
| 160 RestoreProgramBindings(); | 162 RestoreProgramBindings(); |
| 161 RestoreGlobalState(); | 163 RestoreGlobalState(); |
| 162 } | 164 } |
| 163 | 165 |
| 166 ErrorState* ContextState::GetErrorState() { |
| 167 return error_state_.get(); |
| 168 } |
| 169 |
| 164 // Include the auto-generated part of this file. We split this because it means | 170 // Include the auto-generated part of this file. We split this because it means |
| 165 // we can easily edit the non-auto generated parts right here in this file | 171 // we can easily edit the non-auto generated parts right here in this file |
| 166 // instead of having to edit some template or the code generator. | 172 // instead of having to edit some template or the code generator. |
| 167 #include "gpu/command_buffer/service/context_state_impl_autogen.h" | 173 #include "gpu/command_buffer/service/context_state_impl_autogen.h" |
| 168 | 174 |
| 169 } // namespace gles2 | 175 } // namespace gles2 |
| 170 } // namespace gpu | 176 } // namespace gpu |
| 171 | 177 |
| 172 | 178 |
| OLD | NEW |