|
OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_ | |
6 #define PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_ | |
7 | |
8 // TODO(alokp): Using PP_Graphics3D prefix is making these enum names rather | |
9 // long. Can we just use PP_GL? It will be a nice short replacement of EGL. | |
10 // In which case we should rename associated classes as - PP_GL, PP_GLContext, | |
11 // PP_GLContext, PP_GLSurface, PP_GLConfig, and PP_OpenGLES2. | |
12 // It is short and binds all associated classes in the package together. | |
13 enum PP_Graphics3DError_Dev { | |
14 PP_GRAPHICS3DERROR_BAD_ACCESS = 0x3002, | |
15 PP_GRAPHICS3DERROR_BAD_ATTRIBUTE = 0x3004, | |
16 PP_GRAPHICS3DERROR_BAD_CONFIG = 0x3005, | |
17 PP_GRAPHICS3DERROR_BAD_CONTEXT = 0x3006, | |
brettw
2010/12/10 00:32:27
I'm a little confused about how this overlaps with
alokp
2010/12/10 13:20:33
This is equivalent to PP_ERROR_BADRESOURCE except
| |
18 PP_GRAPHICS3DERROR_BAD_MATCH = 0x3009, | |
19 PP_GRAPHICS3DERROR_BAD_SURFACE = 0x300D, | |
20 PP_GRAPHICS3DERROR_CONTEXT_LOST = 0x300E | |
21 }; | |
22 | |
23 enum PP_Graphics3DString_Dev { | |
24 PP_GRAPHICS3DSTRING_VENDOR = 0x3053, | |
25 PP_GRAPHICS3DSTRING_VERSION = 0x3054, | |
26 PP_GRAPHICS3DSTRING_EXTENSIONS = 0x3055, | |
27 PP_GRAPHICS3DSTRING_CLIENT_APIS = 0x308D | |
28 }; | |
29 | |
30 enum PP_Graphics3DAttrib_Dev { | |
31 // Total color component bits in the color buffer. | |
32 PP_GRAPHICS3DATTRIB_BUFFER_SIZE = 0x3020, | |
33 // Bits of Alpha in the color buffer. | |
34 PP_GRAPHICS3DATTRIB_ALPHA_SIZE = 0x3021, | |
35 // Bits of Blue in the color buffer. | |
36 PP_GRAPHICS3DATTRIB_BLUE_SIZE = 0x3022, | |
37 // Bits of Green in the color buffer. | |
38 PP_GRAPHICS3DATTRIB_GREEN_SIZE = 0x3023, | |
39 // Bits of Red in the color buffer. | |
40 PP_GRAPHICS3DATTRIB_RED_SIZE = 0x3024, | |
41 // Bits of Z in the depth buffer. | |
42 PP_GRAPHICS3DATTRIB_DEPTH_SIZE = 0x3025, | |
43 // Bits of Stencil in the stencil buffer. | |
44 PP_GRAPHICS3DATTRIB_STENCIL_SIZE = 0x3026, | |
45 // Any caveats for the configuration. | |
46 PP_GRAPHICS3DATTRIB_CONFIG_CAVEAT = 0x3027, | |
47 // Unique EGLConfig identifier. | |
48 PP_GRAPHICS3DATTRIB_CONFIG_ID = 0x3028, | |
49 // Maximum height of surface. | |
50 PP_GRAPHICS3DATTRIB_MAX_SURFACE_HEIGHT = 0x302A, | |
51 // Maximum size of surface. | |
52 PP_GRAPHICS3DATTRIB_MAX_SURFACE_PIXELS = 0x302B, | |
53 // Maximum width of surface. | |
54 PP_GRAPHICS3DATTRIB_MAX_SURFACE_WIDTH = 0x302C, | |
55 // Number of samples per pixel. | |
56 PP_GRAPHICS3DATTRIB_SAMPLES = 0x3031, | |
57 // Number of multisample buffers. | |
58 PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS = 0x3032, | |
59 // Which types of EGL surfaces are supported. | |
60 PP_GRAPHICS3DATTRIB_SURFACE_TYPE = 0x3033, | |
61 // Type of transparency supported. | |
62 PP_GRAPHICS3DATTRIB_TRANSPARENT_TYPE = 0x3034, | |
63 // Transparent blue value. | |
64 PP_GRAPHICS3DATTRIB_TRANSPARENT_BLUE_VALUE = 0x3035, | |
65 // Transparent green value. | |
66 PP_GRAPHICS3DATTRIB_TRANSPARENT_GREEN_VALUE = 0x3036, | |
67 // Transparent red value. | |
68 PP_GRAPHICS3DATTRIB_TRANSPARENT_RED_VALUE = 0x3037, | |
69 // Attrib list terminator. | |
70 PP_GRAPHICS3DATTRIB_NONE = 0x3038, | |
71 // TODO(alokp): Find out if we can support swap intervals. Remove them if not. | |
72 // Minimum swap interval. | |
73 PP_GRAPHICS3DATTRIB_MIN_SWAP_INTERVAL = 0x303B, | |
74 // Maximum swap interval. | |
75 PP_GRAPHICS3DATTRIB_MAX_SWAP_INTERVAL = 0x303C, | |
76 // Bits of Luminance in the color buffer. | |
77 PP_GRAPHICS3DATTRIB_LUMINANCE_SIZE = 0x303D, | |
78 // Bits of Alpha Mask in the mask buffer. | |
79 PP_GRAPHICS3DATTRIB_ALPHA_MASK_SIZE = 0x303E, | |
80 // Color buffer type. | |
81 PP_GRAPHICS3DATTRIB_COLOR_BUFFER_TYPE = 0x303F, | |
82 // Which client APIs are supported. | |
83 PP_GRAPHICS3DATTRIB_RENDERABLE_TYPE = 0x3040, | |
84 // Whether contexts created with this config are conformant. | |
85 PP_GRAPHICS3DATTRIB_CONFORMANT = 0x3042, | |
86 | |
87 // Surface specific attributes. | |
88 // Height of surface. | |
89 PP_GRAPHICS3DATTRIB_HEIGHT = 0x3056, | |
90 // Width of surface. | |
91 PP_GRAPHICS3DATTRIB_WIDTH = 0x3057, | |
92 // If true, create largest surface possible. | |
93 PP_GRAPHICS3DATTRIB_LARGEST_SURFACE = 0x3058, | |
94 // Render buffer. | |
95 PP_GRAPHICS3DATTRIB_RENDER_BUFFER = 0x3086, | |
96 // Buffer swap behavior. | |
97 PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR = 0x3093, | |
98 // Multisample resolve behavior. | |
99 PP_GRAPHICS3DATTRIB_MULTISAMPLE_RESOLVE = 0x3099, | |
100 | |
101 // Context specific attributes. | |
102 // Which client API the context supports. | |
103 PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_TYPE = 0x3097, | |
104 // Which version of OpenGL ES context to create. | |
105 PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_VERSION = 0x3098 | |
106 }; | |
107 | |
108 enum PP_Graphics3DAttribValue_Dev { | |
109 PP_GRAPHICS3DATTRIBVALUE_NONE = 0x3038, | |
110 // PP_GRAPHICS3DATTRIB_CONFIG_CAVEAT values. | |
brettw
2010/12/10 00:32:27
Normally we would put a blank line before a commen
alokp
2010/12/10 13:20:33
Done.
| |
111 PP_GRAPHICS3DATTRIBVALUE_SLOW_CONFIG = 0x3050, | |
112 PP_GRAPHICS3DATTRIBVALUE_NON_CONFORMANT_CONFIG = 0x3051, | |
113 // PP_GRAPHICS3DATTRIB_TRANSPARENT_TYPE values. | |
114 PP_GRAPHICS3DATTRIBVALUE_TRANSPARENT_RGB = 0x3052, | |
115 // PP_GRAPHICS3DATTRIB_COLOR_BUFFER_TYPE values. | |
116 PP_GRAPHICS3DATTRIBVALUE_RGB_BUFFER = 0x308E, | |
117 PP_GRAPHICS3DATTRIBVALUE_LUMINANCE_BUFFER = 0x308F, | |
118 // PP_GRAPHICS3DATTRIB_SURFACE_TYPE mask bits. | |
119 PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX_BIT = 0x0200, | |
120 PP_GRAPHICS3DATTRIBVALUE_SWAP_BEHAVIOR_PRESERVED_BIT = 0x0400, | |
121 // PP_GRAPHICS3DATTRIB_RENDERABLE_TYPE mask bits. | |
122 PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES_BIT = 0x0001, | |
123 PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES2_BIT = 0x0004, | |
124 PP_GRAPHICS3DATTRIBVALUE_OPENGL_BIT = 0x0008, | |
125 // PP_GRAPHICS3DATTRIB_RENDER_BUFFER values. | |
126 PP_GRAPHICS3DATTRIBVALUE_BACK_BUFFER = 0x3084, | |
127 PP_GRAPHICS3DATTRIBVALUE_SINGLE_BUFFER = 0x3085, | |
128 // PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR values. | |
129 PP_GRAPHICS3DATTRIBVALUE_BUFFER_PRESERVED = 0x3094, | |
130 PP_GRAPHICS3DATTRIBVALUE_BUFFER_DESTROYED = 0x3095, | |
131 // PP_GRAPHICS3DATTRIB_MULTISAMPLE_RESOLVE values. | |
132 PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_DEFAULT = 0x309A, | |
133 PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX = 0x309B, | |
134 // PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_TYPE values. | |
135 PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES_API = 0x30A0, | |
136 PP_GRAPHICS3DATTRIBVALUE_OPENGL_API = 0x30A2, | |
137 }; | |
138 | |
139 typedef int32_t PP_Graphics3DConfig_Dev; | |
140 | |
141 #endif // PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_ | |
OLD | NEW |