
[GL 4.1] Separate Shader Objects
Posted Saturday, 2 October, 2010 - 07:47 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/separate_shader_objects.txt
---
Create new enum ProgramStageBitfield and add:
VERTEX_SHADER_BIT 0x00000001
FRAGMENT_SHADER_BIT 0x00000002
GEOMETRY_SHADER_BIT 0x00000004
TESS_CONTROL_SHADER_BIT 0x00000008
TESS_EVALUATION_SHADER_BIT 0x00000010
ALL_SHADER_BITS 0xFFFFFFFF
Add to BOTH enums
ProgramParameter and
AssemblyProgramParameterArb
PROGRAM_SEPARABLE 0x8258
Create enum and add GetProgramPipelineParameter:
ACTIVE_PROGRAM 0x8259
Add to enum GetPName:
PROGRAM_PIPELINE_BINDING 0x825A
Functions:
Old: void UseProgramStages(uint pipeline, bitfield stages, uint program);
New: void UseProgramStages(uint pipeline, ProgramStageBitfield stages, uint program);
Old: uint CreateShaderProgramv(enum type, sizei count, const char **strings);
New: uint CreateShaderProgramv(ShaderType type, sizei count, const char **strings);
Note: This function also appears in #2056: [GL 4.1] Get Program Binary
Old: void ProgramParameteri(uint program, enum pname, int value);
New: void ProgramParameteri(uint program, AssemblyProgramParameterArb pname, int value);
Old: void GetProgramPipelineiv(uint pipeline, enum pname, int *params);
New: void GetProgramPipelineiv(uint pipeline, GetProgramPipelineParameter pname, int *params);


Comments
#1
Fixed in gl4 branch, r2962.