Chromium Code Reviews| Index: ppapi/c/dev/pp_graphics_3d_dev.h |
| =================================================================== |
| --- ppapi/c/dev/pp_graphics_3d_dev.h (revision 0) |
| +++ ppapi/c/dev/pp_graphics_3d_dev.h (revision 0) |
| @@ -0,0 +1,174 @@ |
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_ |
| +#define PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_ |
| + |
| +// TODO(alokp): Using PP_Graphics3D prefix is making these enum names rather |
|
alokp
2010/12/10 13:20:34
Any suggestion on this?
brettw
2010/12/10 17:39:11
I kind of like the current (long) way since I thin
|
| +// long. Can we just use PP_GL? It will be a nice short replacement of EGL. |
| +// In which case we should rename associated classes as - PP_GL, PP_GLContext, |
| +// PP_GLContext, PP_GLSurface, PP_GLConfig, and PP_OpenGLES2. |
| +// |
| +// Another option is to rename Surface3D and Context3D to Graphics3DSurface |
| +// and Graphics3DContext respectively But this does not make the names |
| +// any shorter. |
| + |
| +enum PP_Graphics3DError_Dev { |
| + PP_GRAPHICS3DERROR_BAD_ACCESS = 0x3002, |
| + PP_GRAPHICS3DERROR_BAD_ATTRIBUTE = 0x3004, |
| + PP_GRAPHICS3DERROR_BAD_CONFIG = 0x3005, |
| + PP_GRAPHICS3DERROR_BAD_CONTEXT = 0x3006, |
| + PP_GRAPHICS3DERROR_BAD_MATCH = 0x3009, |
| + PP_GRAPHICS3DERROR_BAD_SURFACE = 0x300D, |
| + PP_GRAPHICS3DERROR_CONTEXT_LOST = 0x300E |
| +}; |
| + |
| +enum PP_Graphics3DString_Dev { |
| + PP_GRAPHICS3DSTRING_VENDOR = 0x3053, |
| + PP_GRAPHICS3DSTRING_VERSION = 0x3054, |
| + // Which extensions are supported. |
| + PP_GRAPHICS3DSTRING_EXTENSIONS = 0x3055, |
| + // Which client rendering APIs are supported. |
| + PP_GRAPHICS3DSTRING_CLIENT_APIS = 0x308D |
| +}; |
| + |
| +enum PP_Graphics3DAttrib_Dev { |
| + // Total color component bits in the color buffer. |
| + PP_GRAPHICS3DATTRIB_BUFFER_SIZE = 0x3020, |
| + // Bits of Alpha in the color buffer. |
| + PP_GRAPHICS3DATTRIB_ALPHA_SIZE = 0x3021, |
| + // Bits of Blue in the color buffer. |
| + PP_GRAPHICS3DATTRIB_BLUE_SIZE = 0x3022, |
| + // Bits of Green in the color buffer. |
| + PP_GRAPHICS3DATTRIB_GREEN_SIZE = 0x3023, |
| + // Bits of Red in the color buffer. |
| + PP_GRAPHICS3DATTRIB_RED_SIZE = 0x3024, |
| + // Bits of Z in the depth buffer. |
| + PP_GRAPHICS3DATTRIB_DEPTH_SIZE = 0x3025, |
| + // Bits of Stencil in the stencil buffer. |
| + PP_GRAPHICS3DATTRIB_STENCIL_SIZE = 0x3026, |
| + // Any caveats for the configuration. |
| + PP_GRAPHICS3DATTRIB_CONFIG_CAVEAT = 0x3027, |
| + // Unique EGLConfig identifier. |
| + PP_GRAPHICS3DATTRIB_CONFIG_ID = 0x3028, |
| + // Maximum height of surface. |
| + PP_GRAPHICS3DATTRIB_MAX_SURFACE_HEIGHT = 0x302A, |
| + // Maximum size of surface. |
| + PP_GRAPHICS3DATTRIB_MAX_SURFACE_PIXELS = 0x302B, |
| + // Maximum width of surface. |
| + PP_GRAPHICS3DATTRIB_MAX_SURFACE_WIDTH = 0x302C, |
| + // Number of samples per pixel. |
| + PP_GRAPHICS3DATTRIB_SAMPLES = 0x3031, |
| + // Number of multisample buffers. |
| + PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS = 0x3032, |
| + // Which types of EGL surfaces are supported. |
| + PP_GRAPHICS3DATTRIB_SURFACE_TYPE = 0x3033, |
| + // Type of transparency supported. |
| + PP_GRAPHICS3DATTRIB_TRANSPARENT_TYPE = 0x3034, |
| + // Transparent blue value. |
| + PP_GRAPHICS3DATTRIB_TRANSPARENT_BLUE_VALUE = 0x3035, |
| + // Transparent green value. |
| + PP_GRAPHICS3DATTRIB_TRANSPARENT_GREEN_VALUE = 0x3036, |
| + // Transparent red value. |
| + PP_GRAPHICS3DATTRIB_TRANSPARENT_RED_VALUE = 0x3037, |
| + // Attrib list terminator. |
| + PP_GRAPHICS3DATTRIB_NONE = 0x3038, |
| + // TODO(alokp): Find out if we can support swap intervals. Remove them if not. |
| + // Minimum swap interval. |
| + PP_GRAPHICS3DATTRIB_MIN_SWAP_INTERVAL = 0x303B, |
| + // Maximum swap interval. |
| + PP_GRAPHICS3DATTRIB_MAX_SWAP_INTERVAL = 0x303C, |
| + // Bits of Luminance in the color buffer. |
| + PP_GRAPHICS3DATTRIB_LUMINANCE_SIZE = 0x303D, |
| + // Bits of Alpha Mask in the mask buffer. |
| + PP_GRAPHICS3DATTRIB_ALPHA_MASK_SIZE = 0x303E, |
| + // Color buffer type. |
| + PP_GRAPHICS3DATTRIB_COLOR_BUFFER_TYPE = 0x303F, |
| + // Which client APIs are supported. |
| + PP_GRAPHICS3DATTRIB_RENDERABLE_TYPE = 0x3040, |
| + // Whether contexts created with this config are conformant. |
| + PP_GRAPHICS3DATTRIB_CONFORMANT = 0x3042, |
| + |
| + // Surface-specific attributes. |
| + // Height of surface in pixels. |
| + PP_GRAPHICS3DATTRIB_HEIGHT = 0x3056, |
| + // Width of surface in pixels. |
| + PP_GRAPHICS3DATTRIB_WIDTH = 0x3057, |
| + // If true, largest possible surface is created. |
| + PP_GRAPHICS3DATTRIB_LARGEST_SURFACE = 0x3058, |
| + // The buffer which client API renders to. |
| + PP_GRAPHICS3DATTRIB_RENDER_BUFFER = 0x3086, |
| + // Specifies the effect on the color buffer of posting a surface |
| + // with SwapBuffers. |
| + PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR = 0x3093, |
| + // Specifies the filter to use when resolving the multisample buffer. |
| + PP_GRAPHICS3DATTRIB_MULTISAMPLE_RESOLVE = 0x3099, |
| + |
| + // Context-specific attributes. |
| + // Which client API the context supports. |
| + PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_TYPE = 0x3097, |
| + // Version of OpenGL ES supported by a context. |
| + // An attribute value of 1 specifies OpenGL ES 1.x. |
| + // An attribute value of 2 specifies OpenGL ES 2.x. |
| + // The default value for PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_VERSION is 1. |
| + // This attribute is only meaningful for an OpenGL ES context. |
| + PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_VERSION = 0x3098 |
| +}; |
| + |
| +enum PP_Graphics3DAttribValue_Dev { |
| + PP_GRAPHICS3DATTRIBVALUE_NONE = 0x3038, |
| + |
| + // PP_GRAPHICS3DATTRIB_CONFIG_CAVEAT values. |
| + PP_GRAPHICS3DATTRIBVALUE_SLOW_CONFIG = 0x3050, |
| + PP_GRAPHICS3DATTRIBVALUE_NON_CONFORMANT_CONFIG = 0x3051, |
| + |
| + // PP_GRAPHICS3DATTRIB_TRANSPARENT_TYPE values. |
| + PP_GRAPHICS3DATTRIBVALUE_TRANSPARENT_RGB = 0x3052, |
| + |
| + // PP_GRAPHICS3DATTRIB_COLOR_BUFFER_TYPE values. |
| + PP_GRAPHICS3DATTRIBVALUE_RGB_BUFFER = 0x308E, |
| + PP_GRAPHICS3DATTRIBVALUE_LUMINANCE_BUFFER = 0x308F, |
| + |
| + // PP_GRAPHICS3DATTRIB_SURFACE_TYPE mask bits. |
| + // Indicates if box filter (PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX) |
| + // for resolving the multisample buffer is supported. |
| + PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX_BIT = 0x0200, |
| + PP_GRAPHICS3DATTRIBVALUE_SWAP_BEHAVIOR_PRESERVED_BIT = 0x0400, |
| + |
| + // PP_GRAPHICS3DATTRIB_RENDERABLE_TYPE mask bits. |
| + PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES_BIT = 0x0001, |
| + PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES2_BIT = 0x0004, |
| + PP_GRAPHICS3DATTRIBVALUE_OPENGL_BIT = 0x0008, |
| + |
| + // PP_GRAPHICS3DATTRIB_RENDER_BUFFER values. |
| + // The default value is PP_GRAPHICS3DATTRIBVALUE_BACK_BUFFER. |
| + // Surface contains two color buffers and client APIs render into |
| + // the back buffer. |
| + PP_GRAPHICS3DATTRIBVALUE_BACK_BUFFER = 0x3084, |
| + // Surface contains a single color buffer. |
| + PP_GRAPHICS3DATTRIBVALUE_SINGLE_BUFFER = 0x3085, |
| + |
| + // PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR values. |
| + // The initial value is chosen by the implementation. |
| + // Indicates that color buffer contents are unaffected. |
| + PP_GRAPHICS3DATTRIBVALUE_BUFFER_PRESERVED = 0x3094, |
| + // Indicates that color buffer contents may be destroyed or changed. |
| + PP_GRAPHICS3DATTRIBVALUE_BUFFER_DESTROYED = 0x3095, |
| + |
| + // PP_GRAPHICS3DATTRIB_MULTISAMPLE_RESOLVE values. |
| + // The default value is PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_DEFAULT. |
| + // The default implementation-defined filtering method. |
| + PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_DEFAULT = 0x309A, |
| + // One-pixel wide box filter placing equal weighting on all |
| + // multisample values. |
| + PP_GRAPHICS3DATTRIBVALUE_MULTISAMPLE_RESOLVE_BOX = 0x309B, |
| + |
| + // PP_GRAPHICS3DATTRIB_CONTEXT_CLIENT_TYPE values. |
| + PP_GRAPHICS3DATTRIBVALUE_OPENGL_ES_API = 0x30A0, |
| + PP_GRAPHICS3DATTRIBVALUE_OPENGL_API = 0x30A2, |
| +}; |
| + |
| +typedef int32_t PP_Graphics3DConfig_Dev; |
| + |
| +#endif // PPAPI_C_DEV_PP_GRAPHICS_3D_DEV_H_ |
| Property changes on: ppapi\c\dev\pp_graphics_3d_dev.h |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| + LF |