On Fri, Mar 22, 2013 at 1:00 PM, gregory hainaut <gregory.hain...@gmail.com> wrote: > * GenProgramPipelines doesn't create object! > ... Spec extract: > These names are marked as used, for the purposes of GenBuffers only, > but they acquire buffer state only when they are first bound with > BindBuffer (see below), just as if they were unused. > ... > > Basically any command (like BindBuffer) that access the pipeline will > create the pipeline. It seems like vertex array object. From an > implemention point of view it seems much easier to create the object > during GenProgramPipelines call. However I don't know if > IsProgramPipeline must return FALSE if the object was never really > created (bind) like VAO.
This is a weird part of the spec. After glGen* (but before glBind*) the associated glIs* function usually returns false. It's something that no one but conformance tests seem to care about. See commit fd93d55141f11069fb76a9b377ad1af88d0ecdd3 (in Mesa) for how to fix this kind of thing. I said "usually" above because there is some inconsistency. The ARB_sampler_objects spec says that the act of calling glIsSampler() actually creates the object. It looks like for ARB_separate_shader_objects that glGen* followed by glIs* should return false (like VAOs). _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev