blob: d4685d59f5d10e046ed0ad979b0eee095430c81b [file] [log] [blame]
Name Strings
Last Modifed Date: July 22, 2011
OpenGL ES 2.0 is required.
This extension adds the ability to query multiple program information in a
single call.
New Tokens
New Procedures and Functions
void GetProgrmaInfoCHROMIUM (GLuint program, GLsizei bufsize,
GLsizei* size, void* info)
<program> is the program to query. <bufsize> is the size of the buffer to
hold the results. <size> is a pointer to a GLsizei to store the size needed
to hold the results. <info> is a pointer to memory to store the result.
To query the space needed for the results set <info> to NULL.
The format of the data that will be stored in the memory pointed to by
<info> is as follows.
struct ProgramInfoHeader {
uint32 link_status; // same as GetProgramiv called with LINK_STATUS
uint32 num_attribs; // the number of active attributes
uint32 num_uniforms; // the number of active uniforms
ProgramInput inputs[num_attribs + num_uniforms];
// The data for one attrib or uniform from GetProgramInfoCHROMIUM.
struct ProgramInput {
uint32 type; // The type (GL_VEC3, GL_SAMPLER_2D, etc.
int32 size; // The size (size of array for uniforms)
uint32 location_offset; // offset from ProgramInfoHeader to 'size'
// locations for uniforms, 1 for attribs.
uint32 name_offset; // offset from ProgrmaInfoHeader to start of
// name.
uint32 name_length; // length of the name.
It is important to note that for attribs, size is the size of the attrib and
location_offset points to a single location. For uniforms, size is the
number of array elements and location_offset points to an array of size
locations, one of each element of the array.
INVALID_VALUE is generated if <bufsize> is less than 0
INVALID_VALUE is generated if <size> is NULL
INVALID_OPERATION is returned if <size> is less than the size needed to hold
all the results.
NOTE: This function is not intended to be used directly. Chromium uses it
internally to cache data.
New State
Revision History
7/22/2011 Documented the extension