This patch is Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
We'll have to see if this breaks any applications... On 02/10/2015 07:40 AM, Eduardo Lima Mitev wrote: > Section 2.14 Asynchronous Queries, page 84 of the OpenGL ES 3.0.4 > spec states: > > "BeginQuery generates an INVALID_OPERATION error if any of the > following conditions hold: [...] id is the name of an > existing query object whose type does not match target; [...] > > Similar wording exists in the OpenGL 4.5 spec, section 4.2. QUERY > OBJECTS AND ASYNCHRONOUS QUERIES, page 43. > > Fixes 1 dEQP test: > * dEQP-GLES3.functional.negative_api.fragment.begin_query > --- > src/mesa/main/queryobj.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c > index 8ce899f..6b4a58b 100644 > --- a/src/mesa/main/queryobj.c > +++ b/src/mesa/main/queryobj.c > @@ -361,6 +361,22 @@ _mesa_BeginQueryIndexed(GLenum target, GLuint index, > GLuint id) > "glBeginQuery{Indexed}(query already active)"); > return; > } > + > + /* Section 2.14 Asynchronous Queries, page 84 of the OpenGL ES 3.0.4 > + * spec states: > + * > + * "BeginQuery generates an INVALID_OPERATION error if any of the > + * following conditions hold: [...] id is the name of an > + * existing query object whose type does not match target; [...] > + * > + * Similar wording exists in the OpenGL 4.5 spec, section 4.2. QUERY > + * OBJECTS AND ASYNCHRONOUS QUERIES, page 43. > + */ > + if (q->EverBound && q->Target != target) { > + _mesa_error(ctx, GL_INVALID_OPERATION, > + "glBeginQuery{Indexed}(target mismatch)"); > + return; > + } > } > > q->Target = target; > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev