15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    OES_framebuffer_object
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_OES_framebuffer_object
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Aaftab Munshi (amunshi@ati.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNotice
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Copyright (c) 2005-2013 The Khronos Group Inc. Copyright terms at
165bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciSpecification Update Policy
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
215bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
225bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
235bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
245bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
255bd8deadSopenharmony_ci    described in more detail at
265bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ciIP Status
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ci    None.
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ciStatus
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ci    Ratified by the Khronos BOP, July 22, 2005.
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ciVersion
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ci    Last Modified Date: April 10, 2008
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ciNumber
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ci    OpenGL ES Extension #10
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ciDependencies
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci    OpenGL ES 1.0 is required.
475bd8deadSopenharmony_ci    OES_rgb8_rgba8 affects the definition of this extension.
485bd8deadSopenharmony_ci    OES_depth24 affects the definition of this extension.
495bd8deadSopenharmony_ci    OES_depth32 affects the definition of this extension.
505bd8deadSopenharmony_ci    OES_stencil1 affects the definition of this extension.
515bd8deadSopenharmony_ci    OES_stencil4 affects the definition of this extension.
525bd8deadSopenharmony_ci    OES_stencil8 affects the definition of this extension.
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ciOverview
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ci    This extension defines a simple interface for drawing to rendering
575bd8deadSopenharmony_ci    destinations other than the buffers provided to the GL by the
585bd8deadSopenharmony_ci    window-system.  OES_framebuffer_object is a simplified version
595bd8deadSopenharmony_ci    of EXT_framebuffer_object with modifications to match the needs of 
605bd8deadSopenharmony_ci    OpenGL ES.
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ci    In this extension, these newly defined rendering destinations are
635bd8deadSopenharmony_ci    known collectively as "framebuffer-attachable images".  This
645bd8deadSopenharmony_ci    extension provides a mechanism for attaching framebuffer-attachable
655bd8deadSopenharmony_ci    images to the GL framebuffer as one of the standard GL logical
665bd8deadSopenharmony_ci    buffers: color, depth, and stencil.  When a framebuffer-attachable 
675bd8deadSopenharmony_ci    image is attached to the framebuffer, it is used as the source and
685bd8deadSopenharmony_ci    destination of fragment operations as described in Chapter 4.
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci    By allowing the use of a framebuffer-attachable image as a rendering
715bd8deadSopenharmony_ci    destination, this extension enables a form of "offscreen" rendering.
725bd8deadSopenharmony_ci    Furthermore, "render to texture" is supported by allowing the images
735bd8deadSopenharmony_ci    of a texture to be used as framebuffer-attachable images.  A
745bd8deadSopenharmony_ci    particular image of a texture object is selected for use as a
755bd8deadSopenharmony_ci    framebuffer-attachable image by specifying the mipmap level, cube
765bd8deadSopenharmony_ci    map face (for a cube map texture) that identifies the image.  
775bd8deadSopenharmony_ci    The "render to texture" semantics of this extension are similar to 
785bd8deadSopenharmony_ci    performing traditional rendering to the framebuffer, followed 
795bd8deadSopenharmony_ci    immediately by a call to CopyTexSubImage.  However, by using this 
805bd8deadSopenharmony_ci    extension instead, an application can achieve the same effect, 
815bd8deadSopenharmony_ci    but with the advantage that the GL can usually eliminate the data copy 
825bd8deadSopenharmony_ci    that would have been incurred by calling CopyTexSubImage.
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ci    This extension also defines a new GL object type, called a
855bd8deadSopenharmony_ci    "renderbuffer", which encapsulates a single 2D pixel image.  The
865bd8deadSopenharmony_ci    image of renderbuffer can be used as a framebuffer-attachable image
875bd8deadSopenharmony_ci    for generalized offscreen rendering and it also provides a means to
885bd8deadSopenharmony_ci    support rendering to GL logical buffer types which have no
895bd8deadSopenharmony_ci    corresponding texture format (stencil, etc).  A renderbuffer
905bd8deadSopenharmony_ci    is similar to a texture in that both renderbuffers and textures can
915bd8deadSopenharmony_ci    be independently allocated and shared among multiple contexts.  The
925bd8deadSopenharmony_ci    framework defined by this extension is general enough that support
935bd8deadSopenharmony_ci    for attaching images from GL objects other than textures and
945bd8deadSopenharmony_ci    renderbuffers could be added by layered extensions.
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci    To facilitate efficient switching between collections of
975bd8deadSopenharmony_ci    framebuffer-attachable images, this extension introduces another new
985bd8deadSopenharmony_ci    GL object, called a framebuffer object.  A framebuffer object
995bd8deadSopenharmony_ci    contains the state that defines the traditional GL framebuffer,
1005bd8deadSopenharmony_ci    including its set of images.  Prior to this extension, it was the
1015bd8deadSopenharmony_ci    window-system which defined and managed this collection of images,
1025bd8deadSopenharmony_ci    traditionally by grouping them into a "drawable".  The window-system
1035bd8deadSopenharmony_ci    APIs would also provide a function (i.e., eglMakeCurrent) to bind a 
1045bd8deadSopenharmony_ci    drawable with a GL context.  In this extension, however, this 
1055bd8deadSopenharmony_ci    functionality is subsumed by the GL and the GL provides the function 
1065bd8deadSopenharmony_ci    BindFramebufferOES to bind a framebuffer object to the current context.  
1075bd8deadSopenharmony_ci    Later, the context can bind back to the window-system-provided framebuffer 
1085bd8deadSopenharmony_ci    in order to display rendered content.
1095bd8deadSopenharmony_ci
1105bd8deadSopenharmony_ci    Previous extensions that enabled rendering to a texture have been
1115bd8deadSopenharmony_ci    much more complicated.  One example is the combination of
1125bd8deadSopenharmony_ci    ARB_pbuffer and ARB_render_texture, both of which are window-system
1135bd8deadSopenharmony_ci    extensions.  This combination requires calling MakeCurrent, an
1145bd8deadSopenharmony_ci    operation that may be expensive, to switch between the window and
1155bd8deadSopenharmony_ci    the pbuffer drawables.  An application must create one pbuffer per
1165bd8deadSopenharmony_ci    renderable texture in order to portably use ARB_render_texture.  An
1175bd8deadSopenharmony_ci    application must maintain at least one GL context per texture
1185bd8deadSopenharmony_ci    format, because each context can only operate on a single
1195bd8deadSopenharmony_ci    pixelformat or FBConfig.  All of these characteristics make
1205bd8deadSopenharmony_ci    ARB_render_texture both inefficient and cumbersome to use.
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ci    OES_framebuffer_object, on the other hand, is both simpler to use
1235bd8deadSopenharmony_ci    and more efficient than ARB_render_texture.  The
1245bd8deadSopenharmony_ci    OES_framebuffer_object API is contained wholly within the GL API and
1255bd8deadSopenharmony_ci    has no (non-portable) window-system components.  Under
1265bd8deadSopenharmony_ci    OES_framebuffer_object, it is not necessary to create a second GL
1275bd8deadSopenharmony_ci    context when rendering to a texture image whose format differs from
1285bd8deadSopenharmony_ci    that of the window.  Finally, unlike the pbuffers of
1295bd8deadSopenharmony_ci    ARB_render_texture, a single framebuffer object can facilitate
1305bd8deadSopenharmony_ci    rendering to an unlimited number of texture objects.
1315bd8deadSopenharmony_ci
1325bd8deadSopenharmony_ci    Please refer to the EXT_framebuffer_object extension for a 
1335bd8deadSopenharmony_ci    detailed explaination of how framebuffer objects are supposed to work,
1345bd8deadSopenharmony_ci    the issues and their resolution.  This extension can be found at
1355bd8deadSopenharmony_ci    http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer_object.txt
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ciIssues
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci    1) This extension should fold in the language developed for the
1405bd8deadSopenharmony_ci       "full" OpenGL ES Specifications; the current difference form is
1415bd8deadSopenharmony_ci       somewhat confusing, particularly since the additional optional
1425bd8deadSopenharmony_ci       renderbuffer formats defined by layered extensions are not
1435bd8deadSopenharmony_ci       documented properly.
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ci       The normal way of writing this would be to omit all mention of
1465bd8deadSopenharmony_ci       these formats from the base extension, and in the layered
1475bd8deadSopenharmony_ci       extensions, state that they are added to the appropriate table or
1485bd8deadSopenharmony_ci       section of the extension. Instead, they are listed as optional
1495bd8deadSopenharmony_ci       here, and the layered extensions are underspecified.
1505bd8deadSopenharmony_ci
1515bd8deadSopenharmony_ciNew Procedures and Functions
1525bd8deadSopenharmony_ci
1535bd8deadSopenharmony_ci    boolean IsRenderbufferOES(uint renderbuffer);
1545bd8deadSopenharmony_ci    void BindRenderbufferOES(enum target, uint renderbuffer);
1555bd8deadSopenharmony_ci    void DeleteRenderbuffersOES(sizei n, const uint *renderbuffers);
1565bd8deadSopenharmony_ci    void GenRenderbuffersOES(sizei n, uint *renderbuffers);
1575bd8deadSopenharmony_ci
1585bd8deadSopenharmony_ci    void RenderbufferStorageOES(enum target, enum internalformat,
1595bd8deadSopenharmony_ci                                sizei width, sizei height);
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ci    void GetRenderbufferParameterivOES(enum target, enum pname, int* params);
1625bd8deadSopenharmony_ci
1635bd8deadSopenharmony_ci    boolean IsFramebufferOES(uint framebuffer);
1645bd8deadSopenharmony_ci    void BindFramebufferOES(enum target, uint framebuffer);
1655bd8deadSopenharmony_ci    void DeleteFramebuffersOES(sizei n, const uint *framebuffers);
1665bd8deadSopenharmony_ci    void GenFramebuffersOES(sizei n, uint *framebuffers);
1675bd8deadSopenharmony_ci
1685bd8deadSopenharmony_ci    enum CheckFramebufferStatusOES(enum target);
1695bd8deadSopenharmony_ci
1705bd8deadSopenharmony_ci    void FramebufferTexture2DOES(enum target, enum attachment,
1715bd8deadSopenharmony_ci                                 enum textarget, uint texture,
1725bd8deadSopenharmony_ci                                 int level);
1735bd8deadSopenharmony_ci
1745bd8deadSopenharmony_ci    void FramebufferRenderbufferOES(enum target, enum attachment,
1755bd8deadSopenharmony_ci                                    enum renderbuffertarget, uint renderbuffer);
1765bd8deadSopenharmony_ci
1775bd8deadSopenharmony_ci    void GetFramebufferAttachmentParameterivOES(enum target, enum attachment,
1785bd8deadSopenharmony_ci                                                enum pname, int *params);
1795bd8deadSopenharmony_ci
1805bd8deadSopenharmony_ci    void GenerateMipmapOES(enum target);
1815bd8deadSopenharmony_ci
1825bd8deadSopenharmony_ciNew Tokens
1835bd8deadSopenharmony_ci
1845bd8deadSopenharmony_ci    Accepted by the <target> parameter of BindFramebufferOES,
1855bd8deadSopenharmony_ci    CheckFramebufferStatusOES, FramebufferTexture{2D|3D}OES,
1865bd8deadSopenharmony_ci    FramebufferRenderbufferOES, and
1875bd8deadSopenharmony_ci    GetFramebufferAttachmentParameterivOES:
1885bd8deadSopenharmony_ci
1895bd8deadSopenharmony_ci        FRAMEBUFFER_OES                     0x8D40
1905bd8deadSopenharmony_ci
1915bd8deadSopenharmony_ci    Accepted by the <target> parameter of BindRenderbufferOES,
1925bd8deadSopenharmony_ci    RenderbufferStorageOES, and GetRenderbufferParameterivOES, and
1935bd8deadSopenharmony_ci    returned by GetFramebufferAttachmentParameterivOES:
1945bd8deadSopenharmony_ci
1955bd8deadSopenharmony_ci        RENDERBUFFER_OES                    0x8D41
1965bd8deadSopenharmony_ci
1975bd8deadSopenharmony_ci    Accepted by the <internalformat> parameter of
1985bd8deadSopenharmony_ci    RenderbufferStorageOES:
1995bd8deadSopenharmony_ci
2005bd8deadSopenharmony_ci        DEPTH_COMPONENT16_OES               0x81A5
2015bd8deadSopenharmony_ci        RGBA4_OES                           0x8056
2025bd8deadSopenharmony_ci        RGB5_A1_OES                         0x8057
2035bd8deadSopenharmony_ci        RGB565_OES                          0x8D62
2045bd8deadSopenharmony_ci        STENCIL_INDEX1_OES                  0x8D46
2055bd8deadSopenharmony_ci        STENCIL_INDEX4_OES                  0x8D47
2065bd8deadSopenharmony_ci        STENCIL_INDEX8_OES                  0x8D48
2075bd8deadSopenharmony_ci
2085bd8deadSopenharmony_ci    Accepted by the <pname> parameter of GetRenderbufferParameterivOES:
2095bd8deadSopenharmony_ci
2105bd8deadSopenharmony_ci        RENDERBUFFER_WIDTH_OES              0x8D42
2115bd8deadSopenharmony_ci        RENDERBUFFER_HEIGHT_OES             0x8D43
2125bd8deadSopenharmony_ci        RENDERBUFFER_INTERNAL_FORMAT_OES    0x8D44
2135bd8deadSopenharmony_ci        RENDERBUFFER_RED_SIZE_OES           0x8D50
2145bd8deadSopenharmony_ci        RENDERBUFFER_GREEN_SIZE_OES         0x8D51
2155bd8deadSopenharmony_ci        RENDERBUFFER_BLUE_SIZE_OES          0x8D52
2165bd8deadSopenharmony_ci        RENDERBUFFER_ALPHA_SIZE_OES         0x8D53
2175bd8deadSopenharmony_ci        RENDERBUFFER_DEPTH_SIZE_OES         0x8D54
2185bd8deadSopenharmony_ci        RENDERBUFFER_STENCIL_SIZE_OES       0x8D55
2195bd8deadSopenharmony_ci
2205bd8deadSopenharmony_ci    Accepted by the <pname> parameter of
2215bd8deadSopenharmony_ci    GetFramebufferAttachmentParameterivOES:
2225bd8deadSopenharmony_ci
2235bd8deadSopenharmony_ci        FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES            0x8CD0
2245bd8deadSopenharmony_ci        FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES            0x8CD1
2255bd8deadSopenharmony_ci        FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES          0x8CD2
2265bd8deadSopenharmony_ci        FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES  0x8CD3
2275bd8deadSopenharmony_ci        FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES     0x8CD4
2285bd8deadSopenharmony_ci
2295bd8deadSopenharmony_ci    Accepted by the <attachment> parameter of
2305bd8deadSopenharmony_ci    FramebufferTexture{2D|3D}OES, FramebufferRenderbufferOES, and
2315bd8deadSopenharmony_ci    GetFramebufferAttachmentParameterivOES
2325bd8deadSopenharmony_ci
2335bd8deadSopenharmony_ci        COLOR_ATTACHMENT0_OES                0x8CE0
2345bd8deadSopenharmony_ci        DEPTH_ATTACHMENT_OES                 0x8D00
2355bd8deadSopenharmony_ci        STENCIL_ATTACHMENT_OES               0x8D20
2365bd8deadSopenharmony_ci
2375bd8deadSopenharmony_ci    Returned by GetFramebufferAttachmentParameterivOES when the
2385bd8deadSopenharmony_ci    <pname> parameter is FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES:
2395bd8deadSopenharmony_ci
2405bd8deadSopenharmony_ci        GL_NONE_OES                          0
2415bd8deadSopenharmony_ci
2425bd8deadSopenharmony_ci    Returned by CheckFramebufferStatusOES():
2435bd8deadSopenharmony_ci
2445bd8deadSopenharmony_ci        FRAMEBUFFER_COMPLETE_OES                          0x8CD5
2455bd8deadSopenharmony_ci        FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES             0x8CD6
2465bd8deadSopenharmony_ci        FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES     0x8CD7
2475bd8deadSopenharmony_ci        FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES             0x8CD9
2485bd8deadSopenharmony_ci        FRAMEBUFFER_INCOMPLETE_FORMATS_OES                0x8CDA
2495bd8deadSopenharmony_ci        FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES            0x8CDB
2505bd8deadSopenharmony_ci        FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES            0x8CDC
2515bd8deadSopenharmony_ci        FRAMEBUFFER_UNSUPPORTED_OES                       0x8CDD
2525bd8deadSopenharmony_ci
2535bd8deadSopenharmony_ci    Accepted by GetIntegerv():
2545bd8deadSopenharmony_ci
2555bd8deadSopenharmony_ci        FRAMEBUFFER_BINDING_OES             0x8CA6
2565bd8deadSopenharmony_ci        RENDERBUFFER_BINDING_OES            0x8CA7
2575bd8deadSopenharmony_ci        MAX_RENDERBUFFER_SIZE_OES           0x84E8
2585bd8deadSopenharmony_ci
2595bd8deadSopenharmony_ci    Returned by GetError():
2605bd8deadSopenharmony_ci
2615bd8deadSopenharmony_ci        INVALID_FRAMEBUFFER_OPERATION_OES   0x0506
2625bd8deadSopenharmony_ci
2635bd8deadSopenharmony_ciOES_framebuffer_object implements the functionality defined by EXT_framebuffer_object 
2645bd8deadSopenharmony_ciwith the following limitations:
2655bd8deadSopenharmony_ci
2665bd8deadSopenharmony_ci    - EXT versions of the entry points and tokens used by the desktop
2675bd8deadSopenharmony_ci      extension are replaced with OES-suffixed versions, and GL_NONE is
2685bd8deadSopenharmony_ci      replaced with GL_NONE_OES.
2695bd8deadSopenharmony_ci
2705bd8deadSopenharmony_ci    - there is no support for DrawBuffer{s}, ReadBuffer{s}, or multiple
2715bd8deadSopenharmony_ci      color attachments; tokens COLOR_ATTACHMENT[1-15]_OES and
2725bd8deadSopenharmony_ci      MAX_COLOR_ATTACHMENTS_OES are not supported.
2735bd8deadSopenharmony_ci
2745bd8deadSopenharmony_ci    - FramebufferTexture2DOES can be used to render 
2755bd8deadSopenharmony_ci      directly into the base level of a texture image only.  Rendering to any 
2765bd8deadSopenharmony_ci      mip-level other than the base level is not supported.
2775bd8deadSopenharmony_ci
2785bd8deadSopenharmony_ci    - FramebufferTexture3DOES is optionally supported and is implemented only
2795bd8deadSopenharmony_ci      if OES_texture_3D string is defined in the EXTENSIONS string returned by 
2805bd8deadSopenharmony_ci      OpenGL ES.
2815bd8deadSopenharmony_ci
2825bd8deadSopenharmony_ci    - section 4.4.2.1 of the EXT_framebuffer_object spec describes the function
2835bd8deadSopenharmony_ci      RenderbufferStorageEXT.  This function establishes the data storage, format, 
2845bd8deadSopenharmony_ci      and dimensions of a renderbuffer object's image.  <target> must be 
2855bd8deadSopenharmony_ci      RENDERBUFFER_EXT. <internalformat> must be one of the internal formats 
2865bd8deadSopenharmony_ci      from table 3.16 or table 2.nnn which has a base internal format of RGB, RGBA, 
2875bd8deadSopenharmony_ci      DEPTH_COMPONENT, or STENCIL_INDEX.
2885bd8deadSopenharmony_ci
2895bd8deadSopenharmony_ci      The above paragraph is modified by OES_framebuffer_object and states thus:
2905bd8deadSopenharmony_ci
2915bd8deadSopenharmony_ci      "This function establishes the data storage, format, and 
2925bd8deadSopenharmony_ci      dimensions of a renderbuffer object's image.  <target> must be RENDERBUFFER_OES.
2935bd8deadSopenharmony_ci      <internalformat> must be one of the sized internal formats from the following 
2945bd8deadSopenharmony_ci      table which has a base internal format of RGB, RGBA, DEPTH_COMPONENT, 
2955bd8deadSopenharmony_ci      or STENCIL_INDEX"
2965bd8deadSopenharmony_ci
2975bd8deadSopenharmony_ci       The following formats are required:
2985bd8deadSopenharmony_ci
2995bd8deadSopenharmony_ci                Sized                 Base                  
3005bd8deadSopenharmony_ci                Internal Format       Internal format      
3015bd8deadSopenharmony_ci                ---------------       ---------------       
3025bd8deadSopenharmony_ci                RGB565_OES            RGB                
3035bd8deadSopenharmony_ci                RGBA4_OES             RGBA
3045bd8deadSopenharmony_ci                RGB5_A1_OES           RGBA
3055bd8deadSopenharmony_ci                DEPTH_COMPONENT16_OES DEPTH_COMPONENT
3065bd8deadSopenharmony_ci
3075bd8deadSopenharmony_ci        The following formats are optional:
3085bd8deadSopenharmony_ci
3095bd8deadSopenharmony_ci                Sized                 Base                  
3105bd8deadSopenharmony_ci                Internal Format       Internal format      
3115bd8deadSopenharmony_ci                --------------------- ---------------
3125bd8deadSopenharmony_ci                RGBA8_OES             RGBA
3135bd8deadSopenharmony_ci                RGB8_OES              RGB
3145bd8deadSopenharmony_ci                DEPTH_COMPONENT24_OES DEPTH_COMPONENT
3155bd8deadSopenharmony_ci                DEPTH_COMPONENT32_OES DEPTH_COMPONENT
3165bd8deadSopenharmony_ci                STENCIL_INDEX1_OES    STENCIL_INDEX      
3175bd8deadSopenharmony_ci                STENCIL_INDEX4_OES    STENCIL_INDEX      
3185bd8deadSopenharmony_ci                STENCIL_INDEX8_OES    STENCIL_INDEX      
3195bd8deadSopenharmony_ci
3205bd8deadSopenharmony_ciDependencies on OES_rgb8_rgba8
3215bd8deadSopenharmony_ci
3225bd8deadSopenharmony_ci    The RGB8_OES and RGBA8_OES <internalformat> parameters to
3235bd8deadSopenharmony_ci    RenderbufferStorageOES are only valid if OES_rgb8_rgba8 is
3245bd8deadSopenharmony_ci    supported.
3255bd8deadSopenharmony_ci
3265bd8deadSopenharmony_ciDependencies on OES_depth24
3275bd8deadSopenharmony_ci
3285bd8deadSopenharmony_ci    The DEPTH_COMPONENT24_OES <internalformat> parameter to
3295bd8deadSopenharmony_ci    RenderbufferStorageOES is only valid if OES_depth24 is supported.
3305bd8deadSopenharmony_ci
3315bd8deadSopenharmony_ciDependencies on OES_depth32
3325bd8deadSopenharmony_ci
3335bd8deadSopenharmony_ci    The DEPTH_COMPONENT32_OES <internalformat> parameter to
3345bd8deadSopenharmony_ci    RenderbufferStorageOES is only valid if OES_depth32 is supported.
3355bd8deadSopenharmony_ci
3365bd8deadSopenharmony_ciDependencies on OES_stencil1
3375bd8deadSopenharmony_ci
3385bd8deadSopenharmony_ci    The STENCIL_INDEX1_OES <internalformat> parameter to
3395bd8deadSopenharmony_ci    RenderbufferStorageOES is only valid if OES_stencil1 is supported.
3405bd8deadSopenharmony_ci
3415bd8deadSopenharmony_ciDependencies on OES_stencil4
3425bd8deadSopenharmony_ci
3435bd8deadSopenharmony_ci    The STENCIL_INDEX4_OES <internalformat> parameter to
3445bd8deadSopenharmony_ci    RenderbufferStorageOES is only valid if OES_stencil4 is supported.
3455bd8deadSopenharmony_ci
3465bd8deadSopenharmony_ciDependencies on OES_stencil8
3475bd8deadSopenharmony_ci
3485bd8deadSopenharmony_ci    The STENCIL_INDEX8_OES <internalformat> parameter to
3495bd8deadSopenharmony_ci    RenderbufferStorageOES is only valid if OES_stencil8 is supported.
3505bd8deadSopenharmony_ci
3515bd8deadSopenharmony_ciErrors
3525bd8deadSopenharmony_ci       
3535bd8deadSopenharmony_ci    INVALID_ENUM is generated if RenderbufferStorageOES is called with
3545bd8deadSopenharmony_ci    an unsupported <internalformat>.
3555bd8deadSopenharmony_ci
3565bd8deadSopenharmony_ciRevision History
3575bd8deadSopenharmony_ci
3585bd8deadSopenharmony_ci    02/25/2005   Aaftab Munshi    First draft of extension
3595bd8deadSopenharmony_ci    04/27/2005   Aaftab Munshi    Added additional limitations to simplify
3605bd8deadSopenharmony_ci                                  OES_framebuffer_object implementations
3615bd8deadSopenharmony_ci    07/06/2005   Aaftab Munshi    Added GetRenderbufferStorageFormatsOES
3625bd8deadSopenharmony_ci                                  removed limitations that were added to OES
3635bd8deadSopenharmony_ci                                  version of RenderbufferStorage,
3645bd8deadSopenharmony_ci                                  and FramebufferTexture2DOES.
3655bd8deadSopenharmony_ci    07/07/2005   Aaftab Munshi    Removed GetRenderbufferStorageFormatsOES
3665bd8deadSopenharmony_ci                                  after discussions with Jeremy Sandmel,
3675bd8deadSopenharmony_ci                                  and added specific extensions for the
3685bd8deadSopenharmony_ci                                  optional renderbuffer storage foramts
3695bd8deadSopenharmony_ci    07/18/2005   Aaftab Munshi    Added comment that optional formats can
3705bd8deadSopenharmony_ci                                  be mandated by OpenGL ES APIs.
3715bd8deadSopenharmony_ci    06/03/2006   Aaftab Munshi    Sync to revision 118 of EXT_framebuffer_object
3725bd8deadSopenharmony_ci    04/22/2007   Jon Leech        Restore RGB565_OES to "New Tokens" section.
3735bd8deadSopenharmony_ci    03/26/2008   Jon Leech        Add NONE_OES to "New Tokens" and use it
3745bd8deadSopenharmony_ci                                  instead of the non-existent (in ES 1.x) NONE.
3755bd8deadSopenharmony_ci    04/01/2008   Ben Bowman,      Remove COLOR_ATTACHMENT[1-15]_OES and
3765bd8deadSopenharmony_ci                 Jon Leech        MAX_COLOR_ATTACHMENTS_OES to match the
3775bd8deadSopenharmony_ci                                  latest headers.
3785bd8deadSopenharmony_ci    04/10/2008   Jon Leech        Add enum values and fix names for
3795bd8deadSopenharmony_ci                                  RGBA4_OES, RGB5_A1_OES, and
3805bd8deadSopenharmony_ci                                  DEPTH_COMPONENT16_OES. Add issues
3815bd8deadSopenharmony_ci                                  list. Improve documentation of
3825bd8deadSopenharmony_ci                                  interaction with document interactions
3835bd8deadSopenharmony_ci                                  with optional optional layered
3845bd8deadSopenharmony_ci                                  renderbuffer format extensions.
385