#include "pipe-loader/pipe_loader.h"
 #include "state_tracker/st_context.h"
 
+#include "util/u_memory.h"
+
 GLboolean
 dri_create_context(gl_api api, const struct gl_config * visual,
                    __DRIcontext * cPriv,
 
 #include "util/imports.h"
 #include "main/errors.h"
 #include "util/u_math.h"
+#include "util/u_memory.h"
 
 /* An "Atrribs/Attribs" typo was fixed in glxproto.h in Nov 2014.
  * This is in case we don't have the updated header.
 
 #include "util/u_atomic.h"
 #include "util/u_inlines.h"
 #include "util/u_math.h"
+#include "util/u_memory.h"
 
 #include "hud/hud_context.h"
 
 
 #include "util/ralloc.h"
 #include "compiler/nir/nir.h"
 #include "util/u_math.h"
+#include "util/u_memory.h"
 
 /** Return offset in bytes of the field within a vertex struct */
 #define OFFSET(FIELD) ((void *) offsetof(struct vertex, FIELD))
 
 #include "main/mtypes.h"
 #include "main/macros.h"
 #include "main/bufferobj.h"
+#include "util/u_memory.h"
 
 #include "intel_blit.h"
 #include "intel_buffer_objects.h"
 
 #include "main/teximage.h"
 #include "main/image.h"
 
+#include "util/u_memory.h"
 #include "swrast/swrast.h"
 #include "drivers/common/meta.h"
 
 
 
 #include "utils.h"
 #include "util/xmlpool.h"
+#include "util/u_memory.h"
 
 static const __DRIconfigOptionsExtension i915_config_options = {
    .base = { __DRI_CONFIG_OPTIONS, 1 },
 
 #include "main/teximage.h"
 #include "main/mipmap.h"
 #include "drivers/common/meta.h"
+#include "util/u_memory.h"
 #include "intel_context.h"
 #include "intel_mipmap_tree.h"
 #include "intel_tex.h"
 
 #include "brw_cs.h"
 #include "brw_program.h"
 #include "compiler/brw_eu.h"
+#include "util/u_memory.h"
 
 #define FILE_DEBUG_FLAG DEBUG_STATE
 
 
 #include "brw_defines.h"
 #include "brw_state.h"
 #include "main/transformfeedback.h"
+#include "util/u_memory.h"
 
 static void
 gen6_update_sol_surfaces(struct brw_context *brw)
 
 #include "main/streaming-load-memcpy.h"
 #include "main/bufferobj.h"
 #include "x86/common_x86_asm.h"
+#include "util/u_memory.h"
 
 #include "brw_context.h"
 #include "brw_blorp.h"
 
 #include "main/condrender.h"
 #include "util/hash_table.h"
 #include "util/set.h"
+#include "util/u_memory.h"
 
 #include "swrast/swrast.h"
 #include "drivers/common/meta.h"
 
 #include "utils.h"
 #include "util/disk_cache.h"
 #include "util/xmlpool.h"
+#include "util/u_memory.h"
 
 #include "common/gen_defines.h"
 
 
 #include "intel_mipmap_tree.h"
 #include "intel_tex.h"
 #include "intel_fbo.h"
+#include "util/u_memory.h"
 
 #define FILE_DEBUG_FLAG DEBUG_TEXTURE
 
 
 #include "nouveau_context.h"
 
 #include "main/bufferobj.h"
+#include "util/u_memory.h"
 
 static inline char *
 get_bufferobj_map(struct gl_context *ctx, struct gl_buffer_object *obj,
 
 #include "main/framebuffer.h"
 #include "main/renderbuffer.h"
 #include "main/fbobject.h"
+#include "util/u_memory.h"
 
 static GLboolean
 set_renderbuffer_format(struct gl_renderbuffer *rb, GLenum internalFormat)
 
 #include "main/framebuffer.h"
 #include "main/fbobject.h"
 #include "main/renderbuffer.h"
+#include "util/u_memory.h"
 #include "swrast/s_renderbuffer.h"
 
 #include <nvif/class.h>
 
 #include "main/texgetimage.h"
 #include "main/mipmap.h"
 #include "main/teximage.h"
+#include "util/u_memory.h"
 #include "drivers/common/meta.h"
 #include "swrast/s_texfetch.h"
 
 
 #include "nouveau_util.h"
 #include "nv04_3d.xml.h"
 #include "nv04_driver.h"
+#include "util/u_memory.h"
 
 static GLboolean
 texunit_needs_combiners(struct gl_texture_unit *u,
 
 
 #include <stdbool.h>
 #include "main/state.h"
+#include "util/u_memory.h"
 #include "nouveau_driver.h"
 #include "nouveau_context.h"
 #include "nouveau_fbo.h"
 
 #include "nv04_driver.h"
 #include "nv10_driver.h"
 #include "nv20_driver.h"
+#include "util/u_memory.h"
 
 static void
 nv20_clear(struct gl_context *ctx, GLbitfield buffers)
 
 #include "r200_ioctl.h"
 #include "r200_tex.h"
 
+#include "util/u_memory.h"
 #include "util/xmlpool.h"
 
 
 
 #include "util/imports.h"
 #include "main/mtypes.h"
 #include "main/bufferobj.h"
+#include "util/u_memory.h"
 
 #include "radeon_common.h"
 #include "radeon_buffer_objects.h"
 
 #include "radeon_common.h"
 #include "radeon_fog.h"
 #include "util/simple_list.h"
+#include "util/u_memory.h"
 
 #if defined(USE_X86_ASM)
 #define COPY_DWORDS( dst, src, nr )                                    \
 
 #include "main/context.h"
 #include "swrast/swrast.h"
 #include "drivers/common/meta.h"
+#include "util/u_memory.h"
 
 #include "radeon_common.h"
 #include "radeon_mipmap_tree.h"
 
 #include "main/teximage.h"
 #include "main/texobj.h"
 #include "main/enums.h"
+#include "util/u_memory.h"
 #include "radeon_texture.h"
 #include "radeon_tile.h"
 
 
 #include "main/framebuffer.h"
 #include "main/renderbuffer.h"
 #include "main/fbobject.h"
+#include "util/u_memory.h"
 #include "swrast/s_renderbuffer.h"
 
 #include "radeon_chipset.h"
 
 #include "radeon_ioctl.h"
 #include "radeon_tex.h"
 
+#include "util/u_memory.h"
 #include "util/xmlpool.h"
 
 
 
 #include "drivers/common/driverfuncs.h"
 #include "drivers/common/meta.h"
 #include "utils.h"
+#include "util/u_memory.h"
 
 #include "main/teximage.h"
 #include "main/texformat.h"
 
 #include "drivers/common/driverfuncs.h"
 #include "drivers/common/meta.h"
 #include "vbo/vbo.h"
+#include "util/u_memory.h"
 
 
 #define OSMESA_RENDERBUFFER_CLASS 0x053
 
 #include "tnl/t_pipeline.h"
 #include "drivers/common/driverfuncs.h"
 #include "drivers/common/meta.h"
+#include "util/u_memory.h"
 
 /**
  * Global X driver lock
 
 #include "main/framebuffer.h"
 #include "main/renderbuffer.h"
 #include "swrast/s_renderbuffer.h"
+#include "util/u_memory.h"
 
 
 #define XMESA_RENDERBUFFER 0x1234
 
 #include "tnl/t_context.h"
 #include "drivers/common/meta.h"
 #include "xmesaP.h"
+#include "util/u_memory.h"
 
 
 static void
 
 #include "util/bitscan.h"
 #include "util/u_atomic.h"
 #include "util/u_math.h"
+#include "util/u_memory.h"
 
 
 const GLubyte
 
 #include "main/mtypes.h"
 #include "main/atifragshader.h"
 #include "program/program.h"
+#include "util/u_memory.h"
 
 #define MESA_DEBUG_ATI_FS 0
 
 
 #include "state.h"
 #include "hash.h"
 #include <stdbool.h>
+#include "util/u_memory.h"
 
 
 /**
 
 #include "transformfeedback.h"
 #include "varray.h"
 #include "util/u_atomic.h"
+#include "util/u_memory.h"
 
 
 /* Debug flags */
 
 #include "compiler/glsl/builtin_functions.h"
 #include "compiler/glsl/glsl_parser_extras.h"
 #include <stdbool.h>
+#include "util/u_memory.h"
 
 
 #ifndef MESA_VERBOSE
 
 #include "version.h"
 #include "util/hash_table.h"
 #include "util/list.h"
+#include "util/u_memory.h"
 
 
 static simple_mtx_t DynamicIDMutex = _SIMPLE_MTX_INITIALIZER_NP;
 
 #include "vbo/vbo_util.h"
 #include "util/format_r11g11b10f.h"
 
+#include "util/u_memory.h"
 
 #define USE_BITMAP_ATLAS 1
 
 
 #include "texobj.h"
 #include "glformats.h"
 #include "texstorage.h"
+#include "util/u_memory.h"
 
 /**
  * Allocate and initialize a new memory object.  But don't put it into the
 
 #include "texobj.h"
 #include "glformats.h"
 #include "state.h"
+#include "util/u_memory.h"
 
 
 
 
 #include "glheader.h"
 #include "hash.h"
 #include "util/hash_table.h"
+#include "util/u_memory.h"
 
 
 /**
 
 #include "util/imports.h"
 #include "queryobj.h"
 #include "mtypes.h"
+#include "util/u_memory.h"
 
 
 /**
 
 #include "formats.h"
 #include "mtypes.h"
 #include "renderbuffer.h"
+#include "util/u_memory.h"
 
 
 /**
 
 #include "main/mtypes.h"
 #include "main/samplerobj.h"
 #include "main/texturebindless.h"
+#include "util/u_memory.h"
 
 
 struct gl_sampler_object *
 
 
 #include "util/hash_table.h"
 #include "util/set.h"
+#include "util/u_memory.h"
 
 static void
 free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared);
 
 #include "mtypes.h"
 #include "util/hash_table.h"
 #include "util/set.h"
+#include "util/u_memory.h"
 
 #include "syncobj.h"
 
 
 #include "mtypes.h"
 #include "program/prog_instruction.h"
 #include "texturebindless.h"
+#include "util/u_memory.h"
 
 
 
 
 #include "texturebindless.h"
 
 #include "util/hash_table.h"
+#include "util/u_memory.h"
 
 /**
  * Return the gl_texture_handle_object for a given 64-bit handle.
 
 #include "program/program.h"
 #include "program/prog_parameter.h"
 
+#include "util/u_memory.h"
+
 struct using_program_tuple
 {
    struct gl_program *prog;
 
 #include <stdbool.h>
 #include "util/hash_table.h"
 #include "util/set.h"
+#include "util/u_memory.h"
 #include "context.h"
 #include "glformats.h"
 #include "texobj.h"
 
 #include "main/shaderobj.h"
 #include "program/prog_cache.h"
 #include "program/program.h"
+#include "util/u_memory.h"
 
 
 struct cache_item
 
 #include "main/glheader.h"
 #include "util/imports.h"
 #include "main/macros.h"
+#include "util/u_memory.h"
 #include "prog_instruction.h"
 #include "prog_parameter.h"
 #include "prog_statevars.h"
 
 #include "program/program_parser.h"
 
 #include "util/u_math.h"
+#include "util/u_memory.h"
 
 extern void *yy_scan_string(char *);
 extern void yy_delete_buffer(void *);
 
 #include "main/macros.h"
 #include "pipe/p_context.h"
 #include "pipe/p_screen.h"
+#include "util/u_memory.h"
 #include "st_context.h"
 #include "st_cb_syncobj.h"
 
 
 #include "main/bufferobj.h"
 #include "main/context.h"
 #include "main/transformfeedback.h"
+#include "util/u_memory.h"
 
 #include "st_cb_bufferobjects.h"
 #include "st_cb_xformfb.h"
 
 #include "util/u_atomic.h"
 #include "util/u_surface.h"
 #include "util/list.h"
+#include "util/u_memory.h"
 
 struct hash_table;
 struct st_manager_private
 
 #include "tgsi/tgsi_parse.h"
 #include "tgsi/tgsi_ureg.h"
 
+#include "util/u_memory.h"
+
 #include "st_debug.h"
 #include "st_cb_bitmap.h"
 #include "st_cb_drawpixels.h"
 
 #include "main/formats.h"
 #include "main/mtypes.h"
 #include "main/renderbuffer.h"
+#include "util/u_memory.h"
 #include "swrast/s_context.h"
 #include "swrast/s_renderbuffer.h"
 
 
 #include "main/fbobject.h"
 #include "main/teximage.h"
 #include "main/texobj.h"
+#include "util/u_memory.h"
 #include "swrast/swrast.h"
 #include "swrast/s_context.h"
 
 
 #include "main/state.h"
 #include "main/viewport.h"
 #include "util/simple_list.h"
+#include "util/u_memory.h"
 
 #include "tnl.h"
 #include "t_context.h"
 
 #include "main/glheader.h"
 #include "main/context.h"
 #include "main/execmem.h"
+#include "util/u_memory.h"
 #include "swrast/s_chan.h"
 #include "t_context.h"
 #include "t_vertex.h"
 
 #include "main/api_arrayelt.h"
 #include "main/arrayobj.h"
 #include "main/varray.h"
+#include "util/u_memory.h"
 #include "vbo.h"
 #include "vbo_private.h"
 
 
 #include "main/sse_minmax.h"
 #include "x86/common_x86_asm.h"
 #include "util/hash_table.h"
+#include "util/u_memory.h"
 
 
 struct minmax_cache_key {
 
 #include "main/state.h"
 #include "main/varray.h"
 #include "util/bitscan.h"
+#include "util/u_memory.h"
 
 #include "vbo_noop.h"
 #include "vbo_private.h"
 
 #include "macros.h"
 #include "u_memory.h"
 #include "fast_urem_by_const.h"
+#include "util/u_memory.h"
 
 #define XXH_INLINE_ALL
 #include "xxhash.h"
 
 extern "C" {
 #endif
 
-
 /*
  * For GL_ARB_vertex_buffer_object we need to treat vertex array pointers
  * as offsets into buffer stores.  Since the vertex array pointer and