
[GL 4.0] Shader Subroutine
Posted Saturday, 15 May, 2010 - 15:11 by Inertia| Project: | The Open Toolkit library |
| Version: | 1.x-dev |
| Component: | Code |
| Category: | task |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | fixed |
Jump to:
http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt
Add to enum GetPName:
MAX_SUBROUTINES 0x8DE7
MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
Create new enum GetActiveSubroutineUniformParameter
NUM_COMPATIBLE_SUBROUTINES 0x8E4A
COMPATIBLE_SUBROUTINES 0x8E4B
UNIFORM_SIZE
UNIFORM_NAME_LENGTH
Create new enum GetProgramStageParameter
ACTIVE_SUBROUTINES 0x8DE5
ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
Functions:
C: int GetSubroutineUniformLocation(uint program, enum shadertype, const char *name);
New: int GetSubroutineUniformLocation(uint program, ShaderType shadertype, const char *name);
C: uint GetSubroutineIndex(uint program, enum shadertype, const char *name);
New: uint GetSubroutineIndex(uint program, ShaderType shadertype, const char *name);
C: void GetActiveSubroutineUniformiv(uint program, enum shadertype, uint index, enum pname, int *values);
New: void GetActiveSubroutineUniformiv(uint program, ShaderType shadertype, uint index, GetActiveSubroutineUniform pname, int *values);
C: void GetActiveSubroutineUniformName(uint program, enum shadertype, uint index, sizei bufsize, sizei *length, char *name);
New: void GetActiveSubroutineUniformName(uint program, ShaderType shadertype, uint index, sizei bufsize, sizei *length, char *name);
C: void GetActiveSubroutineName(uint program, enum shadertype, uint index, sizei bufsize, sizei *length, char *name);
New: void GetActiveSubroutineName(uint program, ShaderType shadertype, uint index, sizei bufsize, sizei *length, char *name);
C: void UniformSubroutinesuiv(enum shadertype, sizei count, const uint *indices);
New: void UniformSubroutinesuiv(ShaderType shadertype, sizei count, const uint *indices);
C: void GetUniformSubroutineuiv(enum shadertype, int location, uint *params);
New: void GetUniformSubroutineuiv(ShaderType shadertype, int location, uint *params);
C: void GetProgramStageiv(uint program, enum shadertype, enum pname, int *values);
New: void GetProgramStageiv(uint program, ShaderType shadertype, GetProgramStageParameter pname, int *values);


Comments
#1
Fixed in gl4 branch, r2949.