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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 | 53 |
54 // Command buffer is GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT byte aligned. | 54 // Command buffer is GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT byte aligned. |
55 #pragma pack(push, 4) | 55 #pragma pack(push, 4) |
56 static_assert(GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT == 4, | 56 static_assert(GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT == 4, |
57 "pragma pack alignment must be equal to " | 57 "pragma pack alignment must be equal to " |
58 "GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT"); | 58 "GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT"); |
59 | 59 |
60 namespace id_namespaces { | 60 namespace id_namespaces { |
61 | 61 |
62 // These are used when contexts share resources. | 62 // These are used when contexts share resources. |
63 enum IdNamespaces { | 63 enum class SharedIdNamespaces { |
64 kBuffers, | 64 kBuffers, |
65 kFramebuffers, | |
66 kProgramsAndShaders, | 65 kProgramsAndShaders, |
67 kRenderbuffers, | 66 kRenderbuffers, |
68 kTextures, | 67 kTextures, |
| 68 kSamplers, |
| 69 kSyncs, |
| 70 kNumSharedIdNamespaces |
| 71 }; |
| 72 |
| 73 enum class IdNamespaces { |
| 74 kFramebuffers, |
69 kQueries, | 75 kQueries, |
70 kVertexArrays, | 76 kVertexArrays, |
71 kSamplers, | |
72 kTransformFeedbacks, | 77 kTransformFeedbacks, |
73 kSyncs, | |
74 kNumIdNamespaces | 78 kNumIdNamespaces |
75 }; | 79 }; |
76 | 80 |
77 enum RangeIdNamespaces { kPaths, kNumRangeIdNamespaces }; | 81 enum RangeIdNamespaces { kPaths, kNumRangeIdNamespaces }; |
78 | 82 |
79 // These numbers must not change | 83 // These numbers must not change |
80 static_assert(kBuffers == 0, "kBuffers should equal 0"); | 84 static_assert(static_cast<int>(SharedIdNamespaces::kBuffers) == 0, |
81 static_assert(kFramebuffers == 1, "kFramebuffers should equal 1"); | 85 "kBuffers should equal 0"); |
82 static_assert(kProgramsAndShaders == 2, "kProgramsAndShaders should equal 2"); | 86 static_assert(static_cast<int>(SharedIdNamespaces::kProgramsAndShaders) == 1, |
83 static_assert(kRenderbuffers == 3, "kRenderbuffers should equal 3"); | 87 "kProgramsAndShaders should equal 1"); |
84 static_assert(kTextures == 4, "kTextures should equal 4"); | 88 static_assert(static_cast<int>(SharedIdNamespaces::kRenderbuffers) == 2, |
| 89 "kRenderbuffers should equal 2"); |
| 90 static_assert(static_cast<int>(SharedIdNamespaces::kTextures) == 3, |
| 91 "kTextures should equal 3"); |
| 92 static_assert(static_cast<int>(SharedIdNamespaces::kSamplers) == 4, |
| 93 "kSamplers should equal 4"); |
| 94 static_assert(static_cast<int>(SharedIdNamespaces::kSyncs) == 5, |
| 95 "kProgramsAndShaders should equal 5"); |
| 96 static_assert(static_cast<int>(IdNamespaces::kFramebuffers) == 0, |
| 97 "kFramebuffers should equal 0"); |
| 98 static_assert(static_cast<int>(IdNamespaces::kQueries) == 1, |
| 99 "kQueries should equal 1"); |
| 100 static_assert(static_cast<int>(IdNamespaces::kVertexArrays) == 2, |
| 101 "kVertexArrays should equal 2"); |
| 102 static_assert(static_cast<int>(IdNamespaces::kTransformFeedbacks) == 3, |
| 103 "kTransformFeedbacks should equal 3"); |
85 static_assert(kPaths == 0, "kPaths should equal 0"); | 104 static_assert(kPaths == 0, "kPaths should equal 0"); |
86 | 105 |
87 } // namespace id_namespaces | 106 } // namespace id_namespaces |
88 | 107 |
89 // Used for some glGetXXX commands that return a result through a pointer. We | 108 // Used for some glGetXXX commands that return a result through a pointer. We |
90 // need to know if the command succeeded or not and the size of the result. If | 109 // need to know if the command succeeded or not and the size of the result. If |
91 // the command failed its result size will 0. | 110 // the command failed its result size will 0. |
92 template <typename T> | 111 template <typename T> |
93 struct SizedResult { | 112 struct SizedResult { |
94 typedef T Type; | 113 typedef T Type; |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 | 310 |
292 #include "../common/gles2_cmd_format_autogen.h" | 311 #include "../common/gles2_cmd_format_autogen.h" |
293 | 312 |
294 #pragma pack(pop) | 313 #pragma pack(pop) |
295 | 314 |
296 } // namespace cmd | 315 } // namespace cmd |
297 } // namespace gles2 | 316 } // namespace gles2 |
298 } // namespace gpu | 317 } // namespace gpu |
299 | 318 |
300 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ | 319 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ |
OLD | NEW |