# Pass this file to Valgrind with "--suppressions=tests/valgrind.supp"

{
    Mesa_glsl_parsing
    Memcheck:Cond
    fun:_ZN22_mesa_glsl_parse_stateC1EP10gl_contextjPv
    obj:/usr/lib/x86_64-linux-gnu/dri/libglsl.so
}
{
    lib_png_inflate
    Memcheck:Cond
    fun:inflateReset2
    fun:inflateInit2_
    fun:png_create_read_struct_2
    fun:png_create_read_struct
}
{
    Mesa_ReadPixels
    Memcheck:Value8
    obj:/usr/lib/x86_64-linux-gnu/dri/libdricore.so
    fun:_mesa_readpixels
}
{
    FcConfig
    Memcheck:Addr4
    fun:FcConfigFileExists
}
{
    Mesa_add_symbol_leak
    Memcheck:Leak
    fun:malloc
    fun:strdup
    fun:_mesa_symbol_table_add_symbol
}
{
    Mesa_symbol_table_add_symbol_leak
    Memcheck:Leak
    fun:calloc
    fun:_mesa_symbol_table_add_symbol
}
{
    Mesa_symbol_table_add_symbol_hash_leak
    Memcheck:Leak
    fun:calloc
    fun:hash_table_insert
    fun:_mesa_symbol_table_add_symbol
}
{
    Mesa_add_global_symbol_leak
    Memcheck:Leak
    fun:malloc
    fun:strdup
    fun:_mesa_symbol_table_add_global_symbol
}
{
    Mesa_add_global_symbol_calloc_leak
    Memcheck:Leak
    fun:calloc
    fun:_mesa_symbol_table_add_global_symbol
}
{
    Mesa_add_global_symbol_hash_leak
    Memcheck:Leak
    fun:calloc
    fun:hash_table_insert
    fun:_mesa_symbol_table_add_global_symbol
}
{
    Mesa_symbol_table_push_scope_leak
    Memcheck:Leak
    fun:calloc
    fun:_mesa_symbol_table_push_scope
}
{
    Mesa_symbol_table_ctor_leak
    Memcheck:Leak
    fun:calloc
    fun:_mesa_symbol_table_ctor
}
{
    Mesa_bindAttribLocation_leak
    Memcheck:Leak
    fun:malloc
    fun:strdup
    fun:_mesa_BindAttribLocationARB
}
{
    Mesa_init_shader_program_leak
    Memcheck:Leak
    fun:_Znwm
    fun:string_to_uint_map_ctor
    fun:_mesa_init_shader_program
}
{
    Mesa_fix_func_fragment_program_leak
    Memcheck:Leak
    fun:malloc
    fun:_mesa_get_fixed_func_fragment_program
}
{
    Mesa_link_shader_leak
    Memcheck:Leak
    fun:_Znwm
    fun:_Z29link_assign_uniform_locationsP17gl_shader_program
    fun:_Z12link_shadersP10gl_contextP17gl_shader_program
    fun:_mesa_glsl_link_shader
}
{
    Mesa_link_shader_leak_2
    Memcheck:Leak
    fun:calloc
    fun:st_link_shader
    fun:_mesa_glsl_link_shader
}
{
    Mesa_leak
    Memcheck:Leak
    fun:malloc
    fun:_mesa_realloc
    obj:/usr/lib/x86_64-linux-gnu/dri/libdricore.so
}
{
    lib_png_inflate
    Memcheck:Cond
    fun:inflateReset2
    fun:inflateInit2_
    fun:png_create_read_struct_2
    fun:png_create_read_struct
}
{
    Mesa_ReadPixels
    Memcheck:Value8
    obj:/usr/lib/x86_64-linux-gnu/dri/libdricore.so
    fun:_mesa_readpixels
}
{
    Mesa_compile_shader
    Memcheck:Leak
    fun:calloc
    fun:ralloc_size
    fun:ralloc_strdup
    ...
    fun:_mesa_glsl_compile_shader
}
{
    Mesa_compile_shader_2
    Memcheck:Leak
    fun:calloc
    fun:ralloc_size
    ...
    fun:_mesa_glsl_compile_shader
}
{
    Mesa_link_shader
    Memcheck:Leak
    fun:calloc
    fun:ralloc_size
    ...
    fun:_mesa_glsl_link_shader
}
{
    Mesa_link_shader2
    Memcheck:Leak
    fun:calloc
    obj:/usr/lib/x86_64-linux-gnu/dri/libgallium.so
    fun:st_link_shader
    fun:_mesa_glsl_link_shader
}
{
    Mesa_update_state
    Memcheck:Leak
    fun:calloc
    fun:ralloc_size
    ...
    fun:_mesa_update_state
}
{
    Mesa_associate_uniform_storage
    Memcheck:Leak
    fun:malloc
    fun:realloc
    fun:_mesa_uniform_attach_driver_storage
    fun:_mesa_associate_uniform_storage
}
