PDA

View Full Version : Binding separable programs to an unbound program pipeline



thokra
04-24-2013, 03:31 AM
Hello everyone.

I'm currently wondering about the way things work with glGenProgramPipelines, glBindProgramPipeline and glUseProgramStages.

The spec says that generating names alone will mark them for use as pipeline objects but only first binding them will allocate a new default state vector. However, on the current AMD implementation I'm testing, I can alter the state of the pipeline before ever binding it. This makes sense as glUseProgramStages is a DSA function and it is not listed as an error by the spec but I'm wondering if implementations will simply create the state vector anyway and simply mark the names as used or something when binding. Otherwise it doesn't really make sense one can alter state variable that have yet to be allocated.

Am I missing something here?

randall
04-24-2013, 06:01 AM
Description of UseProgramStages command:

If pipeline is a name that has been generated (without subsequent deletion) by
GenProgramPipelines, but refers to a program pipeline object that has not been
previously bound, the GL first creates a new state vector in the same manner as
when BindProgramPipeline creates a new program pipeline object.

thokra
04-24-2013, 06:11 AM
:doh: Thank you. Please excuse my being an idiot.