Name

    OES_rgb8_rgba8

Name Strings

    GL_OES_rgb8_rgba8

Contact

    Aaftab Munshi (amunshi@ati.com)

Notice

    Copyright (c) 2005-2013 The Khronos Group Inc. Copyright terms at
        http://www.khronos.org/registry/speccopyright.html

Specification Update Policy

    Khronos-approved extension specifications are updated in response to
    issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
    extensions which have been promoted to a core Specification, fixes will
    first appear in the latest version of that core Specification, and will
    eventually be backported to the extension document. This policy is
    described in more detail at
        https://www.khronos.org/registry/OpenGL/docs/update_policy.php

IP Status

    None.

Status

    Ratified by the Khronos BOP, July 22, 2005.
    
Version

    Last Modifed Date: June 9, 2006

Number

    OpenGL ES Extension #30    

Dependencies

    OpenGL ES 1.0 is required.

    OES_framebuffer_object is required

Overview

    This extension enables RGB8 and RGBA8 renderbuffer
    storage formats

Issues

 
New Tokens

    Accepted by the <internalformat> parameter of RenderbufferStorageOES:

        RGB8_OES             0x8051 
        RGBA8_OES            0x8058

New Procedures and Functions

    None.

Errors

    None.

New State

    None.

Revision History

    7/6/2005    Aaftab Munshi    Created the extension
    6/9/2006    Aaftab Munshi    Added OES suffixes
