Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(443)

Side by Side Diff: ppapi/c/dev/pp_graphics_3d_dev.h

Issue 7576012: Removed config management from Graphics3D API. It will be better handled in the EGL helper library. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 /* Copyright (c) 2011 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 5
6 #ifndef PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_ 6 #ifndef PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_
7 #define PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_ 7 #define PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_
8 8
9 #include "ppapi/c/pp_stdint.h" 9 #include "ppapi/c/pp_stdint.h"
10 10
11 enum PP_Graphics3DError_Dev { 11 enum PP_Graphics3DError_Dev {
12 PP_GRAPHICS3DERROR_BAD_ACCESS = 0x3002,
13 PP_GRAPHICS3DERROR_BAD_ATTRIBUTE = 0x3004, 12 PP_GRAPHICS3DERROR_BAD_ATTRIBUTE = 0x3004,
14 PP_GRAPHICS3DERROR_BAD_CONFIG = 0x3005,
15 PP_GRAPHICS3DERROR_BAD_MATCH = 0x3009,
16 PP_GRAPHICS3DERROR_CONTEXT_LOST = 0x300E 13 PP_GRAPHICS3DERROR_CONTEXT_LOST = 0x300E
17 }; 14 };
18 15
19 enum PP_Graphics3DString_Dev { 16 enum PP_Graphics3DString_Dev {
20 PP_GRAPHICS3DSTRING_VENDOR = 0x3053, 17 PP_GRAPHICS3DSTRING_VENDOR = 0x3053,
21 PP_GRAPHICS3DSTRING_VERSION = 0x3054, 18 PP_GRAPHICS3DSTRING_VERSION = 0x3054,
22 // Which extensions are supported. 19 // Which extensions are supported.
23 PP_GRAPHICS3DSTRING_EXTENSIONS = 0x3055, 20 PP_GRAPHICS3DSTRING_EXTENSIONS = 0x3055
24 // Which client rendering APIs are supported.
25 PP_GRAPHICS3DSTRING_CLIENT_APIS = 0x308D
26 }; 21 };
27 22
28 enum PP_Graphics3DAttrib_Dev { 23 enum PP_Graphics3DAttrib_Dev {
29 // Total color component bits in the color buffer.
30 PP_GRAPHICS3DATTRIB_BUFFER_SIZE = 0x3020,
31 // Bits of Alpha in the color buffer. 24 // Bits of Alpha in the color buffer.
32 PP_GRAPHICS3DATTRIB_ALPHA_SIZE = 0x3021, 25 PP_GRAPHICS3DATTRIB_ALPHA_SIZE = 0x3021,
33 // Bits of Blue in the color buffer. 26 // Bits of Blue in the color buffer.
34 PP_GRAPHICS3DATTRIB_BLUE_SIZE = 0x3022, 27 PP_GRAPHICS3DATTRIB_BLUE_SIZE = 0x3022,
35 // Bits of Green in the color buffer. 28 // Bits of Green in the color buffer.
36 PP_GRAPHICS3DATTRIB_GREEN_SIZE = 0x3023, 29 PP_GRAPHICS3DATTRIB_GREEN_SIZE = 0x3023,
37 // Bits of Red in the color buffer. 30 // Bits of Red in the color buffer.
38 PP_GRAPHICS3DATTRIB_RED_SIZE = 0x3024, 31 PP_GRAPHICS3DATTRIB_RED_SIZE = 0x3024,
39 // Bits of Z in the depth buffer. 32 // Bits of Z in the depth buffer.
40 PP_GRAPHICS3DATTRIB_DEPTH_SIZE = 0x3025, 33 PP_GRAPHICS3DATTRIB_DEPTH_SIZE = 0x3025,
41 // Bits of Stencil in the stencil buffer. 34 // Bits of Stencil in the stencil buffer.
42 PP_GRAPHICS3DATTRIB_STENCIL_SIZE = 0x3026, 35 PP_GRAPHICS3DATTRIB_STENCIL_SIZE = 0x3026,
43 // Any caveats for the configuration.
44 PP_GRAPHICS3DATTRIB_CONFIG_CAVEAT = 0x3027,
45 // Unique EGLConfig identifier.
46 PP_GRAPHICS3DATTRIB_CONFIG_ID = 0x3028,
47 // Maximum height of surface. 36 // Maximum height of surface.
48 PP_GRAPHICS3DATTRIB_MAX_SURFACE_HEIGHT = 0x302A, 37 PP_GRAPHICS3DATTRIB_MAX_SURFACE_HEIGHT = 0x302A,
49 // Maximum size of surface. 38 // Maximum size of surface.
50 PP_GRAPHICS3DATTRIB_MAX_SURFACE_PIXELS = 0x302B, 39 PP_GRAPHICS3DATTRIB_MAX_SURFACE_PIXELS = 0x302B,
51 // Maximum width of surface. 40 // Maximum width of surface.
52 PP_GRAPHICS3DATTRIB_MAX_SURFACE_WIDTH = 0x302C, 41 PP_GRAPHICS3DATTRIB_MAX_SURFACE_WIDTH = 0x302C,
53 // Number of samples per pixel. 42 // Number of samples per pixel.
54 PP_GRAPHICS3DATTRIB_SAMPLES = 0x3031, 43 PP_GRAPHICS3DATTRIB_SAMPLES = 0x3031,
55 // Number of multisample buffers. 44 // Number of multisample buffers.
56 PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS = 0x3032, 45 PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS = 0x3032,
57 // Which types of EGL surfaces are supported.
58 PP_GRAPHICS3DATTRIB_SURFACE_TYPE = 0x3033,
59 // Type of transparency supported.
60 PP_GRAPHICS3DATTRIB_TRANSPARENT_TYPE = 0x3034,
61 // Transparent blue value.
62 PP_GRAPHICS3DATTRIB_TRANSPARENT_BLUE_VALUE = 0x3035,
63 // Transparent green value.
64 PP_GRAPHICS3DATTRIB_TRANSPARENT_GREEN_VALUE = 0x3036,
65 // Transparent red value.
66 PP_GRAPHICS3DATTRIB_TRANSPARENT_RED_VALUE = 0x3037,
67 // Attrib list terminator. 46 // Attrib list terminator.
68 PP_GRAPHICS3DATTRIB_NONE = 0x3038, 47 PP_GRAPHICS3DATTRIB_NONE = 0x3038,
69 // TODO(alokp): Find out if we can support swap intervals. Remove them if not.
70 // Minimum swap interval.
71 PP_GRAPHICS3DATTRIB_MIN_SWAP_INTERVAL = 0x303B,
72 // Maximum swap interval.
73 PP_GRAPHICS3DATTRIB_MAX_SWAP_INTERVAL = 0x303C,
74 // Bits of Luminance in the color buffer.
75 PP_GRAPHICS3DATTRIB_LUMINANCE_SIZE = 0x303D,
76 // Bits of Alpha Mask in the mask buffer.
77 PP_GRAPHICS3DATTRIB_ALPHA_MASK_SIZE = 0x303E,
78 // Color buffer type.
79 PP_GRAPHICS3DATTRIB_COLOR_BUFFER_TYPE = 0x303F,
80 // Which client APIs are supported.
81 PP_GRAPHICS3DATTRIB_RENDERABLE_TYPE = 0x3040,
82 // Whether contexts created with this config are conformant.
83 PP_GRAPHICS3DATTRIB_CONFORMANT = 0x3042,
84 48
85 // Surface-specific attributes. 49 // Surface-specific attributes.
86 // Height of surface in pixels. 50 // Height of surface in pixels.
87 PP_GRAPHICS3DATTRIB_HEIGHT = 0x3056, 51 PP_GRAPHICS3DATTRIB_HEIGHT = 0x3056,
88 // Width of surface in pixels. 52 // Width of surface in pixels.
89 PP_GRAPHICS3DATTRIB_WIDTH = 0x3057, 53 PP_GRAPHICS3DATTRIB_WIDTH = 0x3057,
90 // If true, largest possible surface is created. 54
91 PP_GRAPHICS3DATTRIB_LARGEST_SURFACE = 0x3058,
92 // The buffer which client API renders to.
93 PP_GRAPHICS3DATTRIB_RENDER_BUFFER = 0x3086,
94 // Specifies the effect on the color buffer of posting a surface 55 // Specifies the effect on the color buffer of posting a surface
95 // with SwapBuffers. 56 // with SwapBuffers. The initial value is chosen by the implementation.
96 PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR = 0x3093, 57 PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR = 0x3093,
97 // Specifies the filter to use when resolving the multisample buffer. 58 // Indicates that color buffer contents are unaffected.
98 PP_GRAPHICS3DATTRIB_MULTISAMPLE_RESOLVE = 0x3099, 59 PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED = 0x3094,
99 60 // Indicates that color buffer contents may be destroyed or changed.
100 // Context-specific attributes. 61 PP_GRAPHICS3DATTRIB_BUFFER_DESTROYED = 0x3095
101 // Which client API the context supports.
102 PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_TYPE = 0x3097,
103 // Version of OpenGL ES supported by a context.
104 // An attribute value of 1 specifies OpenGL ES 1.x.
105 // An attribute value of 2 specifies OpenGL ES 2.x.
106 // The default value for PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_VERSION is 1.
107 // This attribute is only meaningful for an OpenGL ES context.
108 PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_VERSION = 0x3098
109 }; 62 };
110 63
111 enum PP_Graphics3DAttribValue_Dev { 64 // TODO(alokp): Remove this when PPB_Context3D_Dev and PPB_Surface3D_Dev
112 PP_GRAPHICS3DATTRIBVALUE_NONE = 0x3038, 65 // are deprecated.
113
114 // PP_GRAPHICS3DATTRIB_CONFIG_CAVEAT values.
115 PP_GRAPHICS3DATTRIBVALUE_SLOW_CONFIG = 0x3050,
116 PP_GRAPHICS3DATTRIBVALUE_NON_CONFORMANT_CONFIG = 0x3051,
117
118 // PP_GRAPHICS3DATTRIB_TRANSPARENT_TYPE values.
119 PP_GRAPHICS3DATTRIBVALUE_TRANSPARENT_RGB = 0x3052,
120
121 // PP_GRAPHICS3DATTRIB_COLOR_BUFFER_TYPE values.
122 PP_GRAPHICS3DATTRIBVALUE_RGB_BUFFER = 0x308E,
123 PP_GRAPHICS3DATTRIBVALUE_LUMINANCE_BUFFER = 0x308F,
124
125 // PP_GRAPHICS3DATTRIB_SURFACE_TYPE mask bits.
126 // Indicates if box filter (PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX)
127 // for resolving the multisample buffer is supported.
128 PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX_BIT = 0x0200,
129 PP_GRAPHICS3DATTRIBVALUE_SWAP_BEHAVIOR_PRESERVED_BIT = 0x0400,
130
131 // PP_GRAPHICS3DATTRIB_RENDERABLE_TYPE mask bits.
132 PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES_BIT = 0x0001,
133 PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES2_BIT = 0x0004,
134 PP_GRAPHICS3DATTRIBVALUE_OPENGL_BIT = 0x0008,
135
136 // PP_GRAPHICS3DATTRIB_RENDER_BUFFER values.
137 // The default value is PP_GRAPHICS3DATTRIBVALUE_BACK_BUFFER.
138 // Surface contains two color buffers and client APIs render into
139 // the back buffer.
140 PP_GRAPHICS3DATTRIBVALUE_BACK_BUFFER = 0x3084,
141 // Surface contains a single color buffer.
142 PP_GRAPHICS3DATTRIBVALUE_SINGLE_BUFFER = 0x3085,
143
144 // PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR values.
145 // The initial value is chosen by the implementation.
146 // Indicates that color buffer contents are unaffected.
147 PP_GRAPHICS3DATTRIBVALUE_BUFFER_PRESERVED = 0x3094,
148 // Indicates that color buffer contents may be destroyed or changed.
149 PP_GRAPHICS3DATTRIBVALUE_BUFFER_DESTROYED = 0x3095,
150
151 // PP_GRAPHICS3DATTRIB_MULTISAMPLE_RESOLVE values.
152 // The default value is PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_DEFAULT.
153 // The default implementation-defined filtering method.
154 PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_DEFAULT = 0x309A,
155 // One-pixel wide box filter placing equal weighting on all
156 // multisample values.
157 PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX = 0x309B,
158
159 // PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_TYPE values.
160 PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES_API = 0x30A0,
161 PP_GRAPHICS3DATTRIBVALUE_OPENGL_API = 0x30A2
162 };
163
164 typedef int32_t PP_Config3D_Dev; 66 typedef int32_t PP_Config3D_Dev;
165 67
166 #endif // PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_ 68 #endif // PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698