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

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

Issue 816543004: Update from https://crrev.com/308996 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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
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 #ifndef GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_
6 #define GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ 6 #define GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_
7 7
8 #include <algorithm> 8 #include <algorithm>
9 #include <list> 9 #include <list>
10 #include <set> 10 #include <set>
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 kCubeMap, 523 kCubeMap,
524 kExternalOES, 524 kExternalOES,
525 kRectangleARB, 525 kRectangleARB,
526 kNumDefaultTextures 526 kNumDefaultTextures
527 }; 527 };
528 528
529 TextureManager(MemoryTracker* memory_tracker, 529 TextureManager(MemoryTracker* memory_tracker,
530 FeatureInfo* feature_info, 530 FeatureInfo* feature_info,
531 GLsizei max_texture_size, 531 GLsizei max_texture_size,
532 GLsizei max_cube_map_texture_size, 532 GLsizei max_cube_map_texture_size,
533 GLsizei max_rectangle_texture_size,
533 bool use_default_textures); 534 bool use_default_textures);
534 ~TextureManager(); 535 ~TextureManager();
535 536
536 void set_framebuffer_manager(FramebufferManager* manager) { 537 void set_framebuffer_manager(FramebufferManager* manager) {
537 framebuffer_manager_ = manager; 538 framebuffer_manager_ = manager;
538 } 539 }
539 540
540 // Init the texture manager. 541 // Init the texture manager.
541 bool Initialize(); 542 bool Initialize();
542 543
(...skipping 11 matching lines...) Expand all
554 return max_cube_map_levels_; 555 return max_cube_map_levels_;
555 } 556 }
556 } 557 }
557 558
558 // Returns the maximum size. 559 // Returns the maximum size.
559 GLsizei MaxSizeForTarget(GLenum target) const { 560 GLsizei MaxSizeForTarget(GLenum target) const {
560 switch (target) { 561 switch (target) {
561 case GL_TEXTURE_2D: 562 case GL_TEXTURE_2D:
562 case GL_TEXTURE_EXTERNAL_OES: 563 case GL_TEXTURE_EXTERNAL_OES:
563 return max_texture_size_; 564 return max_texture_size_;
565 case GL_TEXTURE_RECTANGLE:
566 return max_rectangle_texture_size_;
564 default: 567 default:
565 return max_cube_map_texture_size_; 568 return max_cube_map_texture_size_;
566 } 569 }
567 } 570 }
568 571
569 // Returns the maxium number of levels a texture of the given size can have. 572 // Returns the maxium number of levels a texture of the given size can have.
570 static GLsizei ComputeMipMapCount(GLenum target, 573 static GLsizei ComputeMipMapCount(GLenum target,
571 GLsizei width, 574 GLsizei width,
572 GLsizei height, 575 GLsizei height,
573 GLsizei depth); 576 GLsizei depth);
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
824 scoped_refptr<FeatureInfo> feature_info_; 827 scoped_refptr<FeatureInfo> feature_info_;
825 828
826 FramebufferManager* framebuffer_manager_; 829 FramebufferManager* framebuffer_manager_;
827 830
828 // Info for each texture in the system. 831 // Info for each texture in the system.
829 typedef base::hash_map<GLuint, scoped_refptr<TextureRef> > TextureMap; 832 typedef base::hash_map<GLuint, scoped_refptr<TextureRef> > TextureMap;
830 TextureMap textures_; 833 TextureMap textures_;
831 834
832 GLsizei max_texture_size_; 835 GLsizei max_texture_size_;
833 GLsizei max_cube_map_texture_size_; 836 GLsizei max_cube_map_texture_size_;
837 GLsizei max_rectangle_texture_size_;
834 GLint max_levels_; 838 GLint max_levels_;
835 GLint max_cube_map_levels_; 839 GLint max_cube_map_levels_;
836 840
837 const bool use_default_textures_; 841 const bool use_default_textures_;
838 842
839 int num_unrenderable_textures_; 843 int num_unrenderable_textures_;
840 int num_unsafe_textures_; 844 int num_unsafe_textures_;
841 int num_uncleared_mips_; 845 int num_uncleared_mips_;
842 int num_images_; 846 int num_images_;
843 847
(...skipping 25 matching lines...) Expand all
869 private: 873 private:
870 DecoderTextureState* texture_state_; 874 DecoderTextureState* texture_state_;
871 base::TimeTicks begin_time_; 875 base::TimeTicks begin_time_;
872 DISALLOW_COPY_AND_ASSIGN(ScopedTextureUploadTimer); 876 DISALLOW_COPY_AND_ASSIGN(ScopedTextureUploadTimer);
873 }; 877 };
874 878
875 } // namespace gles2 879 } // namespace gles2
876 } // namespace gpu 880 } // namespace gpu
877 881
878 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ 882 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/test_helper.cc ('k') | gpu/command_buffer/service/texture_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698