mesa: allocate gl_debug_state on demand
authorBrian Paul <brianp@vmware.com>
Fri, 7 Feb 2014 01:21:58 +0000 (18:21 -0700)
committerBrian Paul <brianp@vmware.com>
Sat, 8 Feb 2014 18:27:58 +0000 (11:27 -0700)
commit6e8d04ac3e9074bffe25a1ef9e6b198caaa30385
tree6a87d17345066d4e42398c21a4a7b7ee8963d3d9
parent31b2625cb50da6c6ac40ca1c9f2729e846b1e371
mesa: allocate gl_debug_state on demand

We don't need to allocate all the state related to GL_ARB_debug_output
until some aspect of that extension is actually needed.

The sizeof(gl_debug_state) is huge (~285KB on 64-bit systems), not even
counting the 54(!) hash tables and lists that it contains.  This change
reduces the size of gl_context alone from 431KB bytes to 145KB bytes on
64-bit systems and from 277KB bytes to 78KB bytes on 32-bit systems.

Reviewed-by: Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/common/dri_util.c
src/mesa/main/enable.c
src/mesa/main/errors.c
src/mesa/main/errors.h
src/mesa/main/get.c
src/mesa/main/get_hash_params.py
src/mesa/main/getstring.c
src/mesa/main/mtypes.h
src/mesa/state_tracker/st_manager.c