Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(393)

Side by Side Diff: gpu/command_buffer/service/context_state.h

Issue 2788793003: gpu: Support other buffer targets for ScopedBufferBinder (Closed)
Patch Set: Update{Pack,Unpack}Parameters() made public Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | gpu/command_buffer/service/context_state.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <memory> 10 #include <memory>
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 void InitCapabilities(const ContextState* prev_state) const; 210 void InitCapabilities(const ContextState* prev_state) const;
211 void InitState(const ContextState* prev_state) const; 211 void InitState(const ContextState* prev_state) const;
212 212
213 void RestoreActiveTexture() const; 213 void RestoreActiveTexture() const;
214 void RestoreAllTextureUnitBindings(const ContextState* prev_state) const; 214 void RestoreAllTextureUnitBindings(const ContextState* prev_state) const;
215 void RestoreActiveTextureUnitBinding(unsigned int target) const; 215 void RestoreActiveTextureUnitBinding(unsigned int target) const;
216 void RestoreVertexAttribValues() const; 216 void RestoreVertexAttribValues() const;
217 void RestoreVertexAttribArrays( 217 void RestoreVertexAttribArrays(
218 const scoped_refptr<VertexAttribManager> attrib_manager) const; 218 const scoped_refptr<VertexAttribManager> attrib_manager) const;
219 void RestoreVertexAttribs() const; 219 void RestoreVertexAttribs() const;
220 void RestoreBufferBinding(unsigned int target) const;
221 void RestoreBufferBindings() const; 220 void RestoreBufferBindings() const;
222 void RestoreGlobalState(const ContextState* prev_state) const; 221 void RestoreGlobalState(const ContextState* prev_state) const;
223 void RestoreProgramSettings(const ContextState* prev_state, 222 void RestoreProgramSettings(const ContextState* prev_state,
224 bool restore_transform_feedback_bindings) const; 223 bool restore_transform_feedback_bindings) const;
225 void RestoreRenderbufferBindings(); 224 void RestoreRenderbufferBindings();
226 void RestoreIndexedUniformBufferBindings(const ContextState* prev_state); 225 void RestoreIndexedUniformBufferBindings(const ContextState* prev_state);
227 void RestoreTextureUnitBindings( 226 void RestoreTextureUnitBindings(
228 GLuint unit, const ContextState* prev_state) const; 227 GLuint unit, const ContextState* prev_state) const;
229 228
230 void PushTextureDecompressionUnpackState() const; 229 void PushTextureDecompressionUnpackState() const;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 const std::vector<uint32_t>& generic_attrib_base_type_mask() const { 302 const std::vector<uint32_t>& generic_attrib_base_type_mask() const {
304 return generic_attrib_base_type_mask_; 303 return generic_attrib_base_type_mask_;
305 } 304 }
306 305
307 void UnbindTexture(TextureRef* texture); 306 void UnbindTexture(TextureRef* texture);
308 void UnbindSampler(Sampler* sampler); 307 void UnbindSampler(Sampler* sampler);
309 308
310 PixelStoreParams GetPackParams(); 309 PixelStoreParams GetPackParams();
311 PixelStoreParams GetUnpackParams(Dimension dimension); 310 PixelStoreParams GetUnpackParams(Dimension dimension);
312 311
312 // If a buffer object is bound to PIXEL_PACK_BUFFER, set all pack parameters
313 // user values; otherwise, set them to 0.
314 void UpdatePackParameters() const;
315 // If a buffer object is bound to PIXEL_UNPACK_BUFFER, set all unpack
316 // parameters user values; otherwise, set them to 0.
317 void UpdateUnpackParameters() const;
318
313 void EnableDisableFramebufferSRGB(bool enable); 319 void EnableDisableFramebufferSRGB(bool enable);
314 320
315 #include "gpu/command_buffer/service/context_state_autogen.h" 321 #include "gpu/command_buffer/service/context_state_autogen.h"
316 322
317 EnableFlags enable_flags; 323 EnableFlags enable_flags;
318 324
319 // Current active texture by 0 - n index. 325 // Current active texture by 0 - n index.
320 // In other words, if we call glActiveTexture(GL_TEXTURE2) this value would 326 // In other words, if we call glActiveTexture(GL_TEXTURE2) this value would
321 // be 2. 327 // be 2.
322 GLuint active_texture_unit; 328 GLuint active_texture_unit;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 bool bound_renderbuffer_valid; 369 bool bound_renderbuffer_valid;
364 370
365 bool pack_reverse_row_order; 371 bool pack_reverse_row_order;
366 bool ignore_cached_state; 372 bool ignore_cached_state;
367 373
368 mutable bool fbo_binding_for_scissor_workaround_dirty; 374 mutable bool fbo_binding_for_scissor_workaround_dirty;
369 375
370 private: 376 private:
371 void EnableDisable(GLenum pname, bool enable) const; 377 void EnableDisable(GLenum pname, bool enable) const;
372 378
373 // If a buffer object is bound to PIXEL_PACK_BUFFER, set all pack parameters
374 // user values; otherwise, set them to 0.
375 void UpdatePackParameters() const;
376 // If a buffer object is bound to PIXEL_UNPACK_BUFFER, set all unpack
377 // parameters user values; otherwise, set them to 0.
378 void UpdateUnpackParameters() const;
379
380 void InitStateManual(const ContextState* prev_state) const; 379 void InitStateManual(const ContextState* prev_state) const;
381 380
382 // EnableDisableFramebufferSRGB is called at very high frequency. Cache the 381 // EnableDisableFramebufferSRGB is called at very high frequency. Cache the
383 // true value of FRAMEBUFFER_SRGB, if we know it, to elide some of these 382 // true value of FRAMEBUFFER_SRGB, if we know it, to elide some of these
384 // calls. 383 // calls.
385 bool framebuffer_srgb_valid_ = false; 384 bool framebuffer_srgb_valid_ = false;
386 bool framebuffer_srgb_ = false; 385 bool framebuffer_srgb_ = false;
387 386
388 // Generic vertex attrib base types: FLOAT, INT, or UINT. 387 // Generic vertex attrib base types: FLOAT, INT, or UINT.
389 // Each base type is encoded into 2 bits, the lowest 2 bits for location 0, 388 // Each base type is encoded into 2 bits, the lowest 2 bits for location 0,
390 // the highest 2 bits for location (max_vertex_attribs - 1). 389 // the highest 2 bits for location (max_vertex_attribs - 1).
391 std::vector<uint32_t> generic_attrib_base_type_mask_; 390 std::vector<uint32_t> generic_attrib_base_type_mask_;
392 391
393 GLfloat line_width_min_ = 0.0f; 392 GLfloat line_width_min_ = 0.0f;
394 GLfloat line_width_max_ = 1.0f; 393 GLfloat line_width_max_ = 1.0f;
395 394
396 FeatureInfo* feature_info_; 395 FeatureInfo* feature_info_;
397 std::unique_ptr<ErrorState> error_state_; 396 std::unique_ptr<ErrorState> error_state_;
398 }; 397 };
399 398
400 } // namespace gles2 399 } // namespace gles2
401 } // namespace gpu 400 } // namespace gpu
402 401
403 #endif // GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_ 402 #endif // GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_
OLDNEW
« no previous file with comments | « no previous file | gpu/command_buffer/service/context_state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698