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 // This file defines the GLES2 command buffer commands. | 5 // This file defines the GLES2 command buffer commands. |
6 | 6 |
7 #ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ | 7 #ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ |
8 #define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ | 8 #define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ |
9 | 9 |
10 | 10 |
(...skipping 25 matching lines...) Expand all Loading... |
36 typedef unsigned short GLushort; | 36 typedef unsigned short GLushort; |
37 typedef unsigned long GLulong; | 37 typedef unsigned long GLulong; |
38 typedef float GLfloat; | 38 typedef float GLfloat; |
39 typedef float GLclampf; | 39 typedef float GLclampf; |
40 typedef double GLdouble; | 40 typedef double GLdouble; |
41 typedef double GLclampd; | 41 typedef double GLclampd; |
42 typedef void GLvoid; | 42 typedef void GLvoid; |
43 typedef khronos_intptr_t GLintptr; | 43 typedef khronos_intptr_t GLintptr; |
44 typedef khronos_ssize_t GLsizeiptr; | 44 typedef khronos_ssize_t GLsizeiptr; |
45 typedef struct __GLsync *GLsync; | 45 typedef struct __GLsync *GLsync; |
| 46 typedef uint64_t GLuint64; |
46 | 47 |
47 namespace gpu { | 48 namespace gpu { |
48 namespace gles2 { | 49 namespace gles2 { |
49 | 50 |
50 // Command buffer is GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT byte aligned. | 51 // Command buffer is GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT byte aligned. |
51 #pragma pack(push, GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT) | 52 #pragma pack(push, GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT) |
52 | 53 |
53 namespace id_namespaces { | 54 namespace id_namespaces { |
54 | 55 |
55 // These are used when contexts share resources. | 56 // These are used when contexts share resources. |
(...skipping 14 matching lines...) Expand all Loading... |
70 | 71 |
71 // These numbers must not change | 72 // These numbers must not change |
72 static_assert(kBuffers == 0, "kBuffers should equal 0"); | 73 static_assert(kBuffers == 0, "kBuffers should equal 0"); |
73 static_assert(kFramebuffers == 1, "kFramebuffers should equal 1"); | 74 static_assert(kFramebuffers == 1, "kFramebuffers should equal 1"); |
74 static_assert(kProgramsAndShaders == 2, "kProgramsAndShaders should equal 2"); | 75 static_assert(kProgramsAndShaders == 2, "kProgramsAndShaders should equal 2"); |
75 static_assert(kRenderbuffers == 3, "kRenderbuffers should equal 3"); | 76 static_assert(kRenderbuffers == 3, "kRenderbuffers should equal 3"); |
76 static_assert(kTextures == 4, "kTextures should equal 4"); | 77 static_assert(kTextures == 4, "kTextures should equal 4"); |
77 | 78 |
78 } // namespace id_namespaces | 79 } // namespace id_namespaces |
79 | 80 |
| 81 union GLuint64Union { |
| 82 GLuint64 param64; |
| 83 uint32_t param32[2]; |
| 84 }; |
| 85 |
| 86 static_assert(sizeof(GLuint64Union) == 8, "size of GLuint64Union should be 8"); |
| 87 static_assert(offsetof(GLuint64Union, param64) == 0, |
| 88 "offset of GLuint64Union.param64 should be 0"); |
| 89 static_assert(offsetof(GLuint64Union, param32[0]) == 0, |
| 90 "offset of GLuint64Union.param32[0] should be 0"); |
| 91 static_assert(offsetof(GLuint64Union, param32[1]) == 4, |
| 92 "offset of GLuint64Union.param32[1] should be 4"); |
| 93 |
80 // Used for some glGetXXX commands that return a result through a pointer. We | 94 // Used for some glGetXXX commands that return a result through a pointer. We |
81 // need to know if the command succeeded or not and the size of the result. If | 95 // need to know if the command succeeded or not and the size of the result. If |
82 // the command failed its result size will 0. | 96 // the command failed its result size will 0. |
83 template <typename T> | 97 template <typename T> |
84 struct SizedResult { | 98 struct SizedResult { |
85 typedef T Type; | 99 typedef T Type; |
86 | 100 |
87 T* GetData() { | 101 T* GetData() { |
88 return static_cast<T*>(static_cast<void*>(&data)); | 102 return static_cast<T*>(static_cast<void*>(&data)); |
89 } | 103 } |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 "offset of CreateAndConsumeTextureCHROMIUMImmediate.client_id should be 8"); | 369 "offset of CreateAndConsumeTextureCHROMIUMImmediate.client_id should be 8"); |
356 | 370 |
357 | 371 |
358 #pragma pack(pop) | 372 #pragma pack(pop) |
359 | 373 |
360 } // namespace cmd | 374 } // namespace cmd |
361 } // namespace gles2 | 375 } // namespace gles2 |
362 } // namespace gpu | 376 } // namespace gpu |
363 | 377 |
364 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ | 378 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ |
OLD | NEW |