Name

    OES_depth32

Name Strings

    GL_OES_depth32

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 09, 2006

Number

    OpenGL ES Extension #25    

Dependencies

    OpenGL ES 1.0 is required.

    OES_framebuffer_object is required

Overview

    This extension enables 32-bit depth components as a valid
    render buffer storage format.

Issues

 
New Tokens

    Accepted by the <internalformat> parameter of RenderbufferStorageOES:

        DEPTH_COMPONENT32_OES                 0x81A7 

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 suffix
