QCOM_extended_get

Name

QCOM_extended_get

Name Strings

GL_QCOM_extended_get

Contributors

Jukka Liimatta
James Ritts

Contact

Jukka Liimatta (jukka.liimatta 'at' qualcomm.com)

Notice

Copyright Qualcomm 2009.

IP Status

Qualcomm Proprietary.

Status

Complete.

Version

Last Modified Date: May 14, 2009
Revision: #1

Number

OpenGL ES Extension #62

Dependencies

OpenGL ES 1.0 or higher is required.

Overview

This extension enables instrumenting the driver for debugging of OpenGL ES 
applications.

New Procedures and Functions

void ExtGetTexturesQCOM(uint* textures,
                        int maxTextures,
                        int* numTextures);

void ExtGetBuffersQCOM(uint* buffers,
                       int maxBuffers,
                       int* numBuffers);

void ExtGetRenderbuffersQCOM(uint* renderbuffers,
                             int maxRenderbuffers,
                             int* numRenderbuffers);

void ExtGetFramebuffersQCOM(uint* framebuffers,
                            int maxFramebuffers,
                            int* numFramebuffers);

void ExtGetTexLevelParameterivQCOM(uint texture, enum face, int level,
                                   enum pname, int* params);

void ExtTexObjectStateOverrideiQCOM(enum target, enum pname, int param);

void ExtGetTexSubImageQCOM(enum target, int level,
                           int xoffset, int yoffset, int zoffset,
                           sizei width, sizei height, sizei depth,
                           enum format, enum type, void *texels);

void ExtGetBufferPointervQCOM(enum target, void **params)

New Tokens

Accepted by the <pname> parameter of ExtGetTexLevelParameterivQCOM

    TEXTURE_WIDTH_QCOM                         0x8BD2
    TEXTURE_HEIGHT_QCOM                        0x8BD3
    TEXTURE_DEPTH_QCOM                         0x8BD4
    TEXTURE_INTERNAL_FORMAT_QCOM               0x8BD5
    TEXTURE_FORMAT_QCOM                        0x8BD6
    TEXTURE_TYPE_QCOM                          0x8BD7
    TEXTURE_IMAGE_VALID_QCOM                   0x8BD8
    TEXTURE_NUM_LEVELS_QCOM                    0x8BD9
    TEXTURE_TARGET_QCOM                        0x8BDA
    TEXTURE_OBJECT_VALID_QCOM                  0x8BDB

Accepted by the <target> parameter of ExtTexObjectStateOverrideiQCOM

    TEXTURE_2D
    TEXTURE_CUBE_MAP
    TEXTURE_3D_OES
    TEXTURE_EXTERNAL_OES

Accepted by the <pname> parameter of ExtTexObjectStateOverrideiQCOM

    STATE_RESTORE                              0x8BDC
    TEXTURE_MIN_FILTER
    TEXTURE_MAG_FILTER
    TEXTURE_WIDTH_QCOM
    TEXTURE_HEIGHT_QCOM
    TEXTURE_DEPTH_QCOM

Accepted by the <target> parameter of ExtGetTexSubImageQCOM

    TEXTURE_2D
    TEXTURE_3D
    TEXTURE_CUBE_MAP_POSITIVE_X
    TEXTURE_CUBE_MAP_NEGATIVE_X
    TEXTURE_CUBE_MAP_POSITIVE_Y
    TEXTURE_CUBE_MAP_NEGATIVE_Y
    TEXTURE_CUBE_MAP_POSITIVE_Z
    TEXTURE_CUBE_MAP_NEGATIVE_Z

Accepted by the <format> parameter of ExtGetTexSubImageQCOM

    ALPHA
    LUMINANCE
    LUMINANCE_ALPHA
    RGB
    RGBA
    ATC_RGB_AMD
    ATC_RGBA_EXPLICIT_ALPHA_AMD
    ATC_RGBA_INTERPOLATED_ALPHA_AMD

Accepted by the <type> parameter of ExtGetTexSubImageQCOM

    UNSIGNED_BYTE
    UNSIGNED_SHORT_5_6_5
    UNSIGNED_SHORT_5_5_5_1
    UNSIGNED_SHORT_4_4_4_4
    HALF_FLOAT_OES
    FLOAT

Accepted by the <target> parameter of ExtGetBufferPointervQCOM

    ARRAY_BUFFER
    ELEMENT_ARRAY_BUFFER

Additions to OpenGL ES 1.1 Specification

The command

    void ExtGetTexturesQCOM(uint* textures,
                            int maxTextures,
                            int* numTextures);

returns list of texture objects in the current render context.

The command

    void ExtGetBuffersQCOM(uint* buffers,
                           int maxBuffers,
                           int* numBuffers);

returns list of buffer objects in the current render context.

The command

    void ExtGetRenderbuffersQCOM(uint* renderbuffers,
                                 int maxRenderbuffers,
                                 int* numRenderbuffers);

returns list of render buffer objects in the current render context.

The command

    void ExtGetFramebuffersQCOM(uint* framebuffers,
                                int maxFramebuffers,
                                int* numFramebuffers);

returns list of frame buffer objects in the current render context.

The command

    void ExtGetTexLevelParameterivQCOM(uint texture, enum face, int level,
                                       enum pname, int* params);

returns parameters for texture level chosen with <texture>, <face> and 
<level>.

The command

    void ExtTexObjectStateOverrideiQCOM(enum target, enum pname, int param);

overrides texture parameter for current texture in the <target>. The state 
chosen with the <pname> argument is restored with <param> value 
STATE_RESTORE. The STATE_RESTORE has the same effect as calling 
TexParameteri(enum target, enum pname, int param).

The command

    void ExtGetTexSubImageQCOM(enum target, int level,
                               int xoffset, int yoffset, int zoffset,
                               sizei width, sizei height, sizei depth,
                               enum format, enum type, void *texels);

copies texels from current texture in <target> to address in <texels> 
parameter.

The command

    void ExtGetBufferPointervQCOM(enum target, void **params)

returns pointer to the buffer chosen with <target>.

Errors

INVALID_VALUE error will be generated if the <texture> parameter to
ExtGetTexLevelParameterivQCOM does not reference to a valid texture object.

INVALID_ENUM error will be generated if the <texture> parameter to
ExtGetTexLevelParameterivQCOM does not reference to a valid texture target.

INVALID_VALUE error will be generated if the <face> parameter to cubemap 
texture target in ExtGetTexLevelParameterivQCOM is not one of the allowable 
values.

INVALID_VALUE error will be generated if the texture <level> parameter to
ExtGetTexLevelParameterivQCOM is not one of the allowable values.

INVALID_ENUM error will be generated if the <pname> parameter to
ExtGetTexLevelParameterivQCOM is not one of the allowable values.

INVALID_ENUM error will be generated if the <target> parameter to
ExtGetTexSubImageQCOM is not one of the allowable values.

INVALID_ENUM error will be generated if the <target> parameter to
ExtGetTexSubImageQCOM does not reference to a valid texture object.

INVALID_VALUE error will be generated if the selected region to
ExtGetTexSubImageQCOM is not inside the texture.

INVALID_VALUE error will be generated if the <level> parameter to
ExtGetTexSubImageQCOM does not reference to a valid texture level.

INVALID_ENUM error will be generated if the <format> or <type> parameters to
ExtGetTexSubImageQCOM are not one of the allowable values.

INVALID_ENUM error will be generated if the <target> parameter to
ExtGetBufferPointervQCOM is not one of the allowable values.

New State

None.

Revision History

#01    05/14/2009    Jukka Liimatta       First draft.