mesa: Make glGet queries initialize ctx->Debug when necessary.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 3 Mar 2016 07:19:27 +0000 (23:19 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 4 Mar 2016 05:31:22 +0000 (21:31 -0800)
commitb4b50b074beae9b679e5acdbb4b49193e539576d
tree2b59702adf2c1d57aa100c443078817662c96b80
parent47392011c057e078848d0be84aaba540ef84e8c7
mesa: Make glGet queries initialize ctx->Debug when necessary.

dEQP-GLES31.functional.debug.state_query.debug_group_stack_depth_*
tries to call glGet on GL_DEBUG_GROUP_STACK_DEPTH right away, before
doing any other debug setup.  This should return 1.

However, because ctx->Debug wasn't allocated, we bailed and returned 0.

This patch removes the open-coded locking and switches the two glGet
functions to use _mesa_lock_debug_state(), which takes care of
allocating and initializing that state on the first time.  It also
conveniently takes care of unlocking on failure for us, so we don't
need to handle that in every caller.

Fixes dEQP-GLES31.functional.debug.state_query.debug_group_stack_depth_
{getboolean,getfloat,getinteger,getinteger64}.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
src/mesa/main/debug_output.c