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

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

Issue 2821913002: Force cube map texture complete on Linux AMD (Closed)
Patch Set: remove webgl2ores3 condition 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
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 <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after
691 bool force_context_lost_; 691 bool force_context_lost_;
692 692
693 DISALLOW_COPY_AND_ASSIGN(TextureRef); 693 DISALLOW_COPY_AND_ASSIGN(TextureRef);
694 }; 694 };
695 695
696 // Holds data that is per gles2_cmd_decoder, but is related to to the 696 // Holds data that is per gles2_cmd_decoder, but is related to to the
697 // TextureManager. 697 // TextureManager.
698 struct DecoderTextureState { 698 struct DecoderTextureState {
699 // total_texture_upload_time automatically initialized to 0 in default 699 // total_texture_upload_time automatically initialized to 0 in default
700 // constructor. 700 // constructor.
701 explicit DecoderTextureState(const GpuDriverBugWorkarounds& workarounds) 701 explicit DecoderTextureState(const GpuDriverBugWorkarounds& workarounds);
702 : tex_image_failed(false),
703 texture_upload_count(0),
704 texsubimage_faster_than_teximage(
705 workarounds.texsubimage_faster_than_teximage),
706 force_cube_map_positive_x_allocation(
707 workarounds.force_cube_map_positive_x_allocation),
708 force_cube_complete(workarounds.force_cube_complete),
709 unpack_alignment_workaround_with_unpack_buffer(
710 workarounds.unpack_alignment_workaround_with_unpack_buffer),
711 unpack_overlapping_rows_separately_unpack_buffer(
712 workarounds.unpack_overlapping_rows_separately_unpack_buffer),
713 unpack_image_height_workaround_with_unpack_buffer(
714 workarounds.unpack_image_height_workaround_with_unpack_buffer) {}
715 702
716 // This indicates all the following texSubImage*D calls that are part of the 703 // This indicates all the following texSubImage*D calls that are part of the
717 // failed texImage*D call should be ignored. The client calls have a lock 704 // failed texImage*D call should be ignored. The client calls have a lock
718 // around them, so it will affect only a single texImage*D + texSubImage*D 705 // around them, so it will affect only a single texImage*D + texSubImage*D
719 // group. 706 // group.
720 bool tex_image_failed; 707 bool tex_image_failed;
721 708
722 // Command buffer stats. 709 // Command buffer stats.
723 int texture_upload_count; 710 int texture_upload_count;
724 base::TimeDelta total_texture_upload_time; 711 base::TimeDelta total_texture_upload_time;
725 712
726 bool texsubimage_faster_than_teximage; 713 bool texsubimage_faster_than_teximage;
727 bool force_cube_map_positive_x_allocation; 714 bool force_cube_map_positive_x_allocation;
728 bool force_cube_complete; 715 bool force_cube_complete;
716 bool force_int_or_srgb_cube_texture_complete;
729 bool unpack_alignment_workaround_with_unpack_buffer; 717 bool unpack_alignment_workaround_with_unpack_buffer;
730 bool unpack_overlapping_rows_separately_unpack_buffer; 718 bool unpack_overlapping_rows_separately_unpack_buffer;
731 bool unpack_image_height_workaround_with_unpack_buffer; 719 bool unpack_image_height_workaround_with_unpack_buffer;
732 }; 720 };
733 721
734 // This class keeps track of the textures and their sizes so we can do NPOT and 722 // This class keeps track of the textures and their sizes so we can do NPOT and
735 // texture complete checking. 723 // texture complete checking.
736 // 724 //
737 // NOTE: To support shared resources an instance of this class will need to be 725 // NOTE: To support shared resources an instance of this class will need to be
738 // shared by multiple GLES2Decoders. 726 // shared by multiple GLES2Decoders.
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after
1264 private: 1252 private:
1265 DecoderTextureState* texture_state_; 1253 DecoderTextureState* texture_state_;
1266 base::TimeTicks begin_time_; 1254 base::TimeTicks begin_time_;
1267 DISALLOW_COPY_AND_ASSIGN(ScopedTextureUploadTimer); 1255 DISALLOW_COPY_AND_ASSIGN(ScopedTextureUploadTimer);
1268 }; 1256 };
1269 1257
1270 } // namespace gles2 1258 } // namespace gles2
1271 } // namespace gpu 1259 } // namespace gpu
1272 1260
1273 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ 1261 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.cc ('k') | gpu/command_buffer/service/texture_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698