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

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

Issue 6062003: Added ppapi::Context3D interface. The API has already been reviewed. I am add... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years 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
« no previous file with comments | « gpu/demos/framework/pepper.cc ('k') | ppapi/c/dev/ppb_context_3d_dev.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(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
6 #ifndef PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_
7 #define PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_
8
9 #include "ppapi/c/pp_stdint.h"
10
11 // TODO(alokp): Using PP_Graphics3D prefix is making these enum names rather
12 // long. Can we just use PP_GL? It will be a nice short replacement of EGL.
13 // In which case we should rename associated classes as - PP_GL, PP_GLContext,
14 // PP_GLContext, PP_GLSurface, PP_GLConfig, and PP_OpenGLES2.
15 //
16 // Another option is to rename Surface3D and Context3D to Graphics3DSurface
17 // and Graphics3DContext respectively But this does not make the names
18 // any shorter.
19
20 enum PP_Graphics3DError_Dev {
21 PP_GRAPHICS3DERROR_BAD_ACCESS = 0x3002,
22 PP_GRAPHICS3DERROR_BAD_ATTRIBUTE = 0x3004,
23 PP_GRAPHICS3DERROR_BAD_CONFIG = 0x3005,
24 PP_GRAPHICS3DERROR_BAD_CONTEXT = 0x3006,
25 PP_GRAPHICS3DERROR_BAD_MATCH = 0x3009,
26 PP_GRAPHICS3DERROR_BAD_SURFACE = 0x300D,
27 PP_GRAPHICS3DERROR_CONTEXT_LOST = 0x300E
28 };
29
30 enum PP_Graphics3DString_Dev {
31 PP_GRAPHICS3DSTRING_VENDOR = 0x3053,
32 PP_GRAPHICS3DSTRING_VERSION = 0x3054,
33 // Which extensions are supported.
34 PP_GRAPHICS3DSTRING_EXTENSIONS = 0x3055,
35 // Which client rendering APIs are supported.
36 PP_GRAPHICS3DSTRING_CLIENT_APIS = 0x308D
37 };
38
39 enum PP_Graphics3DAttrib_Dev {
40 // Total color component bits in the color buffer.
41 PP_GRAPHICS3DATTRIB_BUFFER_SIZE = 0x3020,
42 // Bits of Alpha in the color buffer.
43 PP_GRAPHICS3DATTRIB_ALPHA_SIZE = 0x3021,
44 // Bits of Blue in the color buffer.
45 PP_GRAPHICS3DATTRIB_BLUE_SIZE = 0x3022,
46 // Bits of Green in the color buffer.
47 PP_GRAPHICS3DATTRIB_GREEN_SIZE = 0x3023,
48 // Bits of Red in the color buffer.
49 PP_GRAPHICS3DATTRIB_RED_SIZE = 0x3024,
50 // Bits of Z in the depth buffer.
51 PP_GRAPHICS3DATTRIB_DEPTH_SIZE = 0x3025,
52 // Bits of Stencil in the stencil buffer.
53 PP_GRAPHICS3DATTRIB_STENCIL_SIZE = 0x3026,
54 // Any caveats for the configuration.
55 PP_GRAPHICS3DATTRIB_CONFIG_CAVEAT = 0x3027,
56 // Unique EGLConfig identifier.
57 PP_GRAPHICS3DATTRIB_CONFIG_ID = 0x3028,
58 // Maximum height of surface.
59 PP_GRAPHICS3DATTRIB_MAX_SURFACE_HEIGHT = 0x302A,
60 // Maximum size of surface.
61 PP_GRAPHICS3DATTRIB_MAX_SURFACE_PIXELS = 0x302B,
62 // Maximum width of surface.
63 PP_GRAPHICS3DATTRIB_MAX_SURFACE_WIDTH = 0x302C,
64 // Number of samples per pixel.
65 PP_GRAPHICS3DATTRIB_SAMPLES = 0x3031,
66 // Number of multisample buffers.
67 PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS = 0x3032,
68 // Which types of EGL surfaces are supported.
69 PP_GRAPHICS3DATTRIB_SURFACE_TYPE = 0x3033,
70 // Type of transparency supported.
71 PP_GRAPHICS3DATTRIB_TRANSPARENT_TYPE = 0x3034,
72 // Transparent blue value.
73 PP_GRAPHICS3DATTRIB_TRANSPARENT_BLUE_VALUE = 0x3035,
74 // Transparent green value.
75 PP_GRAPHICS3DATTRIB_TRANSPARENT_GREEN_VALUE = 0x3036,
76 // Transparent red value.
77 PP_GRAPHICS3DATTRIB_TRANSPARENT_RED_VALUE = 0x3037,
78 // Attrib list terminator.
79 PP_GRAPHICS3DATTRIB_NONE = 0x3038,
80 // TODO(alokp): Find out if we can support swap intervals. Remove them if not.
81 // Minimum swap interval.
82 PP_GRAPHICS3DATTRIB_MIN_SWAP_INTERVAL = 0x303B,
83 // Maximum swap interval.
84 PP_GRAPHICS3DATTRIB_MAX_SWAP_INTERVAL = 0x303C,
85 // Bits of Luminance in the color buffer.
86 PP_GRAPHICS3DATTRIB_LUMINANCE_SIZE = 0x303D,
87 // Bits of Alpha Mask in the mask buffer.
88 PP_GRAPHICS3DATTRIB_ALPHA_MASK_SIZE = 0x303E,
89 // Color buffer type.
90 PP_GRAPHICS3DATTRIB_COLOR_BUFFER_TYPE = 0x303F,
91 // Which client APIs are supported.
92 PP_GRAPHICS3DATTRIB_RENDERABLE_TYPE = 0x3040,
93 // Whether contexts created with this config are conformant.
94 PP_GRAPHICS3DATTRIB_CONFORMANT = 0x3042,
95
96 // Surface-specific attributes.
97 // Height of surface in pixels.
98 PP_GRAPHICS3DATTRIB_HEIGHT = 0x3056,
99 // Width of surface in pixels.
100 PP_GRAPHICS3DATTRIB_WIDTH = 0x3057,
101 // If true, largest possible surface is created.
102 PP_GRAPHICS3DATTRIB_LARGEST_SURFACE = 0x3058,
103 // The buffer which client API renders to.
104 PP_GRAPHICS3DATTRIB_RENDER_BUFFER = 0x3086,
105 // Specifies the effect on the color buffer of posting a surface
106 // with SwapBuffers.
107 PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR = 0x3093,
108 // Specifies the filter to use when resolving the multisample buffer.
109 PP_GRAPHICS3DATTRIB_MULTISAMPLE_RESOLVE = 0x3099,
110
111 // Context-specific attributes.
112 // Which client API the context supports.
113 PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_TYPE = 0x3097,
114 // Version of OpenGL ES supported by a context.
115 // An attribute value of 1 specifies OpenGL ES 1.x.
116 // An attribute value of 2 specifies OpenGL ES 2.x.
117 // The default value for PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_VERSION is 1.
118 // This attribute is only meaningful for an OpenGL ES context.
119 PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_VERSION = 0x3098
120 };
121
122 enum PP_Graphics3DAttribValue_Dev {
123 PP_GRAPHICS3DATTRIBVALUE_NONE = 0x3038,
124
125 // PP_GRAPHICS3DATTRIB_CONFIG_CAVEAT values.
126 PP_GRAPHICS3DATTRIBVALUE_SLOW_CONFIG = 0x3050,
127 PP_GRAPHICS3DATTRIBVALUE_NON_CONFORMANT_CONFIG = 0x3051,
128
129 // PP_GRAPHICS3DATTRIB_TRANSPARENT_TYPE values.
130 PP_GRAPHICS3DATTRIBVALUE_TRANSPARENT_RGB = 0x3052,
131
132 // PP_GRAPHICS3DATTRIB_COLOR_BUFFER_TYPE values.
133 PP_GRAPHICS3DATTRIBVALUE_RGB_BUFFER = 0x308E,
134 PP_GRAPHICS3DATTRIBVALUE_LUMINANCE_BUFFER = 0x308F,
135
136 // PP_GRAPHICS3DATTRIB_SURFACE_TYPE mask bits.
137 // Indicates if box filter (PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX)
138 // for resolving the multisample buffer is supported.
139 PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX_BIT = 0x0200,
140 PP_GRAPHICS3DATTRIBVALUE_SWAP_BEHAVIOR_PRESERVED_BIT = 0x0400,
141
142 // PP_GRAPHICS3DATTRIB_RENDERABLE_TYPE mask bits.
143 PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES_BIT = 0x0001,
144 PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES2_BIT = 0x0004,
145 PP_GRAPHICS3DATTRIBVALUE_OPENGL_BIT = 0x0008,
146
147 // PP_GRAPHICS3DATTRIB_RENDER_BUFFER values.
148 // The default value is PP_GRAPHICS3DATTRIBVALUE_BACK_BUFFER.
149 // Surface contains two color buffers and client APIs render into
150 // the back buffer.
151 PP_GRAPHICS3DATTRIBVALUE_BACK_BUFFER = 0x3084,
152 // Surface contains a single color buffer.
153 PP_GRAPHICS3DATTRIBVALUE_SINGLE_BUFFER = 0x3085,
154
155 // PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR values.
156 // The initial value is chosen by the implementation.
157 // Indicates that color buffer contents are unaffected.
158 PP_GRAPHICS3DATTRIBVALUE_BUFFER_PRESERVED = 0x3094,
159 // Indicates that color buffer contents may be destroyed or changed.
160 PP_GRAPHICS3DATTRIBVALUE_BUFFER_DESTROYED = 0x3095,
161
162 // PP_GRAPHICS3DATTRIB_MULTISAMPLE_RESOLVE values.
163 // The default value is PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_DEFAULT.
164 // The default implementation-defined filtering method.
165 PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_DEFAULT = 0x309A,
166 // One-pixel wide box filter placing equal weighting on all
167 // multisample values.
168 PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX = 0x309B,
169
170 // PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_TYPE values.
171 PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES_API = 0x30A0,
172 PP_GRAPHICS3DATTRIBVALUE_OPENGL_API = 0x30A2
173 };
174
175 typedef int32_t PP_Config3D_Dev;
176
177 #endif // PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_
OLDNEW
« no previous file with comments | « gpu/demos/framework/pepper.cc ('k') | ppapi/c/dev/ppb_context_3d_dev.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698