Inertia's picture

[GL 4.0] Shader Subroutine

Project:The Open Toolkit library
Version:1.1-2014-01-02
Component:Code
Category:task
Priority:normal
Assigned:Unassigned
Status:closed
Description

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

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
the Fiddler's picture

#1

Status:open» fixed

Fixed in gl4 branch, r2949.

the Fiddler's picture

#2

Version:1.x-dev» 1.1-2014-01-02
Status:fixed» closed

Closing issues fixed in OpenTK 1.1.

If this is still an issue please file a new bug report at https://github.com/opentk/opentk/issues