On Fri, 3 May 2013 12:04:48 -0700 Matt Turner <matts...@gmail.com> wrote:
> On Fri, May 3, 2013 at 10:44 AM, Gregory Hainaut > <gregory.hain...@gmail.com> wrote: > > --- > > src/mesa/main/get.c | 9 +++++++++ > > src/mesa/main/get_hash_params.py | 3 +++ > > 2 files changed, 12 insertions(+) > > > > diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c > > index 54159c0..6cbb7db 100644 > > --- a/src/mesa/main/get.c > > +++ b/src/mesa/main/get.c > > @@ -369,6 +369,7 @@ EXTRA_EXT(ARB_map_buffer_alignment); > > EXTRA_EXT(ARB_texture_cube_map_array); > > EXTRA_EXT(ARB_texture_buffer_range); > > EXTRA_EXT(ARB_texture_multisample); > > +EXTRA_EXT(ARB_separate_shader_objects); > > > > static const int > > extra_ARB_color_buffer_float_or_glcore[] = { > > @@ -889,6 +890,14 @@ find_custom_value(struct gl_context *ctx, const struct > > value_desc *d, union valu > > _mesa_problem(ctx, "driver doesn't implement GetTimestamp"); > > } > > break; > > + /* GL_ARB_separate_shader_objects */ > > + case GL_PROGRAM_PIPELINE_BINDING: > > + if (ctx->Pipeline.Current) { > > + v->value_int = ctx->Pipeline.Current->Name; > > + } else { > > + v->value_int = 0; > > + } > > + break; > > } > > } > > This looks believable, but I can't find a description in the extension > spec or GL 4.1+ specs that say precisely what this query is supposed > to do. Looks like it's just mentioned in the extension spec, and not > at all in GL 4.1+ specs. Yes you're right that strange. There is also a couple of line in glGet man page. GL_PROGRAM_PIPELINE_BINDING params a single value, the name of the currently bound program pipeline object, or zero if no program pipeline object is bound. See glBindProgramPipeline. Both Nvidia and AMD support this query. I did a quick update on my piglit test, on the AMD side: * UseProgram(2) * BindPipeline(5) (the pipeline isn't really bound because UseProgram got an higher priority) * Get GL_PROGRAM_PIPELINE_BINDING => 5 I will try to check the behavior on Nvidia implementation. > > diff --git a/src/mesa/main/get_hash_params.py > > b/src/mesa/main/get_hash_params.py > > index 2b97da6..43a11cf 100644 > > --- a/src/mesa/main/get_hash_params.py > > +++ b/src/mesa/main/get_hash_params.py > > @@ -709,6 +709,9 @@ descriptor=[ > > > > # GL_ARB_texture_cube_map_array > > [ "TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB", "LOC_CUSTOM, TYPE_INT, > > TEXTURE_CUBE_ARRAY_INDEX, extra_ARB_texture_cube_map_array" ], > > + > > +# GL_ARB_separate_shader_objects > > + [ "PROGRAM_PIPELINE_BINDING", "LOC_CUSTOM, TYPE_INT, > > GL_PROGRAM_PIPELINE_BINDING, extra_ARB_separate_shader_objects" ], > > ]}, > > > > # Enums restricted to OpenGL Core profile > > -- > > 1.7.10.4 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev