| 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 #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ | 5 #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ |
| 6 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ | 6 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| 11 #include <list> | 11 #include <list> |
| 12 #include <map> | 12 #include <map> |
| 13 #include <memory> |
| 13 #include <queue> | 14 #include <queue> |
| 14 #include <set> | 15 #include <set> |
| 15 #include <string> | 16 #include <string> |
| 16 #include <utility> | 17 #include <utility> |
| 17 #include <vector> | 18 #include <vector> |
| 18 | 19 |
| 19 #include "base/compiler_specific.h" | 20 #include "base/compiler_specific.h" |
| 20 #include "base/macros.h" | 21 #include "base/macros.h" |
| 21 #include "base/memory/scoped_ptr.h" | |
| 22 #include "base/memory/weak_ptr.h" | 22 #include "base/memory/weak_ptr.h" |
| 23 #include "base/trace_event/memory_dump_provider.h" | 23 #include "base/trace_event/memory_dump_provider.h" |
| 24 #include "gpu/command_buffer/client/buffer_tracker.h" | 24 #include "gpu/command_buffer/client/buffer_tracker.h" |
| 25 #include "gpu/command_buffer/client/client_context_state.h" | 25 #include "gpu/command_buffer/client/client_context_state.h" |
| 26 #include "gpu/command_buffer/client/context_support.h" | 26 #include "gpu/command_buffer/client/context_support.h" |
| 27 #include "gpu/command_buffer/client/gles2_impl_export.h" | 27 #include "gpu/command_buffer/client/gles2_impl_export.h" |
| 28 #include "gpu/command_buffer/client/gles2_interface.h" | 28 #include "gpu/command_buffer/client/gles2_interface.h" |
| 29 #include "gpu/command_buffer/client/gpu_control_client.h" | 29 #include "gpu/command_buffer/client/gpu_control_client.h" |
| 30 #include "gpu/command_buffer/client/mapped_memory.h" | 30 #include "gpu/command_buffer/client/mapped_memory.h" |
| 31 #include "gpu/command_buffer/client/ref_counted.h" | 31 #include "gpu/command_buffer/client/ref_counted.h" |
| (...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 738 | 738 |
| 739 // unpack skip rows as last set by glPixelStorei | 739 // unpack skip rows as last set by glPixelStorei |
| 740 GLint unpack_skip_rows_; | 740 GLint unpack_skip_rows_; |
| 741 | 741 |
| 742 // unpack skip pixels as last set by glPixelStorei | 742 // unpack skip pixels as last set by glPixelStorei |
| 743 GLint unpack_skip_pixels_; | 743 GLint unpack_skip_pixels_; |
| 744 | 744 |
| 745 // unpack skip images as last set by glPixelStorei | 745 // unpack skip images as last set by glPixelStorei |
| 746 GLint unpack_skip_images_; | 746 GLint unpack_skip_images_; |
| 747 | 747 |
| 748 scoped_ptr<TextureUnit[]> texture_units_; | 748 std::unique_ptr<TextureUnit[]> texture_units_; |
| 749 | 749 |
| 750 // 0 to gl_state_.max_combined_texture_image_units. | 750 // 0 to gl_state_.max_combined_texture_image_units. |
| 751 GLuint active_texture_unit_; | 751 GLuint active_texture_unit_; |
| 752 | 752 |
| 753 GLuint bound_framebuffer_; | 753 GLuint bound_framebuffer_; |
| 754 GLuint bound_read_framebuffer_; | 754 GLuint bound_read_framebuffer_; |
| 755 GLuint bound_renderbuffer_; | 755 GLuint bound_renderbuffer_; |
| 756 GLuint bound_valuebuffer_; | 756 GLuint bound_valuebuffer_; |
| 757 | 757 |
| 758 // The program in use by glUseProgram | 758 // The program in use by glUseProgram |
| 759 GLuint current_program_; | 759 GLuint current_program_; |
| 760 | 760 |
| 761 GLuint bound_array_buffer_; | 761 GLuint bound_array_buffer_; |
| 762 GLuint bound_copy_read_buffer_; | 762 GLuint bound_copy_read_buffer_; |
| 763 GLuint bound_copy_write_buffer_; | 763 GLuint bound_copy_write_buffer_; |
| 764 GLuint bound_pixel_pack_buffer_; | 764 GLuint bound_pixel_pack_buffer_; |
| 765 GLuint bound_pixel_unpack_buffer_; | 765 GLuint bound_pixel_unpack_buffer_; |
| 766 GLuint bound_transform_feedback_buffer_; | 766 GLuint bound_transform_feedback_buffer_; |
| 767 GLuint bound_uniform_buffer_; | 767 GLuint bound_uniform_buffer_; |
| 768 | 768 |
| 769 // The currently bound pixel transfer buffers. | 769 // The currently bound pixel transfer buffers. |
| 770 GLuint bound_pixel_pack_transfer_buffer_id_; | 770 GLuint bound_pixel_pack_transfer_buffer_id_; |
| 771 GLuint bound_pixel_unpack_transfer_buffer_id_; | 771 GLuint bound_pixel_unpack_transfer_buffer_id_; |
| 772 | 772 |
| 773 // Client side management for vertex array objects. Needed to correctly | 773 // Client side management for vertex array objects. Needed to correctly |
| 774 // track client side arrays. | 774 // track client side arrays. |
| 775 scoped_ptr<VertexArrayObjectManager> vertex_array_object_manager_; | 775 std::unique_ptr<VertexArrayObjectManager> vertex_array_object_manager_; |
| 776 | 776 |
| 777 GLuint reserved_ids_[2]; | 777 GLuint reserved_ids_[2]; |
| 778 | 778 |
| 779 // Current GL error bits. | 779 // Current GL error bits. |
| 780 uint32_t error_bits_; | 780 uint32_t error_bits_; |
| 781 | 781 |
| 782 // Whether or not to print debugging info. | 782 // Whether or not to print debugging info. |
| 783 bool debug_; | 783 bool debug_; |
| 784 | 784 |
| 785 // When true, the context is lost when a GL_OUT_OF_MEMORY error occurs. | 785 // When true, the context is lost when a GL_OUT_OF_MEMORY error occurs. |
| (...skipping 21 matching lines...) Expand all Loading... |
| 807 typedef std::map<const void*, MappedBuffer> MappedBufferMap; | 807 typedef std::map<const void*, MappedBuffer> MappedBufferMap; |
| 808 MappedBufferMap mapped_buffers_; | 808 MappedBufferMap mapped_buffers_; |
| 809 | 809 |
| 810 // TODO(zmo): Consolidate |mapped_buffers_| and |mapped_buffer_range_map_|. | 810 // TODO(zmo): Consolidate |mapped_buffers_| and |mapped_buffer_range_map_|. |
| 811 typedef base::hash_map<GLuint, MappedBuffer> MappedBufferRangeMap; | 811 typedef base::hash_map<GLuint, MappedBuffer> MappedBufferRangeMap; |
| 812 MappedBufferRangeMap mapped_buffer_range_map_; | 812 MappedBufferRangeMap mapped_buffer_range_map_; |
| 813 | 813 |
| 814 typedef std::map<const void*, MappedTexture> MappedTextureMap; | 814 typedef std::map<const void*, MappedTexture> MappedTextureMap; |
| 815 MappedTextureMap mapped_textures_; | 815 MappedTextureMap mapped_textures_; |
| 816 | 816 |
| 817 scoped_ptr<MappedMemoryManager> mapped_memory_; | 817 std::unique_ptr<MappedMemoryManager> mapped_memory_; |
| 818 | 818 |
| 819 scoped_refptr<ShareGroup> share_group_; | 819 scoped_refptr<ShareGroup> share_group_; |
| 820 ShareGroupContextData share_group_context_data_; | 820 ShareGroupContextData share_group_context_data_; |
| 821 | 821 |
| 822 scoped_ptr<QueryTracker> query_tracker_; | 822 std::unique_ptr<QueryTracker> query_tracker_; |
| 823 scoped_ptr<IdAllocator> query_id_allocator_; | 823 std::unique_ptr<IdAllocator> query_id_allocator_; |
| 824 | 824 |
| 825 scoped_ptr<BufferTracker> buffer_tracker_; | 825 std::unique_ptr<BufferTracker> buffer_tracker_; |
| 826 | 826 |
| 827 base::Callback<void(const char*, int32_t)> error_message_callback_; | 827 base::Callback<void(const char*, int32_t)> error_message_callback_; |
| 828 base::Closure lost_context_callback_; | 828 base::Closure lost_context_callback_; |
| 829 #if DCHECK_IS_ON() | 829 #if DCHECK_IS_ON() |
| 830 bool lost_context_ = false; | 830 bool lost_context_ = false; |
| 831 #endif | 831 #endif |
| 832 | 832 |
| 833 int current_trace_stack_; | 833 int current_trace_stack_; |
| 834 | 834 |
| 835 GpuControl* gpu_control_; | 835 GpuControl* gpu_control_; |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 890 | 890 |
| 891 inline bool GLES2Implementation::GetTexParameterivHelper( | 891 inline bool GLES2Implementation::GetTexParameterivHelper( |
| 892 GLenum /* target */, GLenum /* pname */, GLint* /* params */) { | 892 GLenum /* target */, GLenum /* pname */, GLint* /* params */) { |
| 893 return false; | 893 return false; |
| 894 } | 894 } |
| 895 | 895 |
| 896 } // namespace gles2 | 896 } // namespace gles2 |
| 897 } // namespace gpu | 897 } // namespace gpu |
| 898 | 898 |
| 899 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ | 899 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ |
| OLD | NEW |