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 |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 friend class VertexArrayObjectManager; | 290 friend class VertexArrayObjectManager; |
291 friend class QueryTracker; | 291 friend class QueryTracker; |
292 | 292 |
293 // Used to track whether an extension is available | 293 // Used to track whether an extension is available |
294 enum ExtensionStatus { | 294 enum ExtensionStatus { |
295 kAvailableExtensionStatus, | 295 kAvailableExtensionStatus, |
296 kUnavailableExtensionStatus, | 296 kUnavailableExtensionStatus, |
297 kUnknownExtensionStatus | 297 kUnknownExtensionStatus |
298 }; | 298 }; |
299 | 299 |
| 300 enum Dimension { |
| 301 k2D, |
| 302 k3D, |
| 303 }; |
| 304 |
| 305 |
300 // Base class for mapped resources. | 306 // Base class for mapped resources. |
301 struct MappedResource { | 307 struct MappedResource { |
302 MappedResource(GLenum _access, int _shm_id, void* mem, unsigned int offset) | 308 MappedResource(GLenum _access, int _shm_id, void* mem, unsigned int offset) |
303 : access(_access), | 309 : access(_access), |
304 shm_id(_shm_id), | 310 shm_id(_shm_id), |
305 shm_memory(mem), | 311 shm_memory(mem), |
306 shm_offset(offset) { | 312 shm_offset(offset) { |
307 } | 313 } |
308 | 314 |
309 // access mode. Currently only GL_WRITE_ONLY is valid | 315 // access mode. Currently only GL_WRITE_ONLY is valid |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 | 692 |
687 void RemoveMappedBufferRangeByTarget(GLenum target); | 693 void RemoveMappedBufferRangeByTarget(GLenum target); |
688 void RemoveMappedBufferRangeById(GLuint buffer); | 694 void RemoveMappedBufferRangeById(GLuint buffer); |
689 void ClearMappedBufferRangeMap(); | 695 void ClearMappedBufferRangeMap(); |
690 | 696 |
691 void DrawElementsImpl(GLenum mode, GLsizei count, GLenum type, | 697 void DrawElementsImpl(GLenum mode, GLsizei count, GLenum type, |
692 const void* indices, const char* func_name); | 698 const void* indices, const char* func_name); |
693 void UpdateCachedExtensionsIfNeeded(); | 699 void UpdateCachedExtensionsIfNeeded(); |
694 void InvalidateCachedExtensions(); | 700 void InvalidateCachedExtensions(); |
695 | 701 |
| 702 PixelStoreParams GetUnpackParameters(Dimension dimension); |
| 703 |
696 GLES2Util util_; | 704 GLES2Util util_; |
697 GLES2CmdHelper* helper_; | 705 GLES2CmdHelper* helper_; |
698 TransferBufferInterface* transfer_buffer_; | 706 TransferBufferInterface* transfer_buffer_; |
699 std::string last_error_; | 707 std::string last_error_; |
700 DebugMarkerManager debug_marker_manager_; | 708 DebugMarkerManager debug_marker_manager_; |
701 std::string this_in_hex_; | 709 std::string this_in_hex_; |
702 | 710 |
703 std::queue<int32_t> swap_buffers_tokens_; | 711 std::queue<int32_t> swap_buffers_tokens_; |
704 std::queue<int32_t> rate_limit_tokens_; | 712 std::queue<int32_t> rate_limit_tokens_; |
705 | 713 |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
876 | 884 |
877 inline bool GLES2Implementation::GetTexParameterivHelper( | 885 inline bool GLES2Implementation::GetTexParameterivHelper( |
878 GLenum /* target */, GLenum /* pname */, GLint* /* params */) { | 886 GLenum /* target */, GLenum /* pname */, GLint* /* params */) { |
879 return false; | 887 return false; |
880 } | 888 } |
881 | 889 |
882 } // namespace gles2 | 890 } // namespace gles2 |
883 } // namespace gpu | 891 } // namespace gpu |
884 | 892 |
885 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ | 893 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_H_ |
OLD | NEW |