| 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 // This file contains the ContextState class. | 5 // This file contains the ContextState class. |
| 6 | 6 |
| 7 #ifndef GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_ | 7 #ifndef GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_ |
| 8 #define GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_ | 8 #define GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_ |
| 9 | 9 |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 } | 94 } |
| 95 if (bound_texture_3d.get() == texture) { | 95 if (bound_texture_3d.get() == texture) { |
| 96 bound_texture_3d = NULL; | 96 bound_texture_3d = NULL; |
| 97 } | 97 } |
| 98 if (bound_texture_2d_array.get() == texture) { | 98 if (bound_texture_2d_array.get() == texture) { |
| 99 bound_texture_2d_array = NULL; | 99 bound_texture_2d_array = NULL; |
| 100 } | 100 } |
| 101 } | 101 } |
| 102 }; | 102 }; |
| 103 | 103 |
| 104 struct Vec4 { | 104 class GPU_EXPORT Vec4 { |
| 105 public: |
| 106 enum DataType { |
| 107 kFloat, |
| 108 kInt, |
| 109 kUInt, |
| 110 }; |
| 111 |
| 105 Vec4() { | 112 Vec4() { |
| 106 v[0] = 0.0f; | 113 v_[0].float_value = 0.0f; |
| 107 v[1] = 0.0f; | 114 v_[1].float_value = 0.0f; |
| 108 v[2] = 0.0f; | 115 v_[2].float_value = 0.0f; |
| 109 v[3] = 1.0f; | 116 v_[3].float_value = 1.0f; |
| 117 type_ = kFloat; |
| 110 } | 118 } |
| 111 float v[4]; | 119 |
| 120 template <typename T> |
| 121 void GetValues(T* values) const; |
| 122 |
| 123 template <typename T> |
| 124 void SetValues(const T* values); |
| 125 |
| 126 DataType type() const { |
| 127 return type_; |
| 128 } |
| 129 |
| 130 bool Equal(const Vec4& other) const; |
| 131 |
| 132 private: |
| 133 union ValueUnion { |
| 134 GLfloat float_value; |
| 135 GLint int_value; |
| 136 GLuint uint_value; |
| 137 }; |
| 138 |
| 139 ValueUnion v_[4]; |
| 140 DataType type_; |
| 112 }; | 141 }; |
| 113 | 142 |
| 114 struct GPU_EXPORT ContextState { | 143 struct GPU_EXPORT ContextState { |
| 115 ContextState(FeatureInfo* feature_info, | 144 ContextState(FeatureInfo* feature_info, |
| 116 ErrorStateClient* error_state_client, | 145 ErrorStateClient* error_state_client, |
| 117 Logger* logger); | 146 Logger* logger); |
| 118 ~ContextState(); | 147 ~ContextState(); |
| 119 | 148 |
| 120 void Initialize(); | 149 void Initialize(); |
| 121 | 150 |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 | 264 |
| 236 FeatureInfo* feature_info_; | 265 FeatureInfo* feature_info_; |
| 237 scoped_ptr<ErrorState> error_state_; | 266 scoped_ptr<ErrorState> error_state_; |
| 238 }; | 267 }; |
| 239 | 268 |
| 240 } // namespace gles2 | 269 } // namespace gles2 |
| 241 } // namespace gpu | 270 } // namespace gpu |
| 242 | 271 |
| 243 #endif // GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_ | 272 #endif // GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_ |
| 244 | 273 |
| OLD | NEW |