Update valgrind suppressions

https://codereview.chromium.org/26465007/



git-svn-id: http://skia.googlecode.com/svn/trunk@11650 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/valgrind.supp b/gm/valgrind.supp
index 80394fe..c006183 100644
--- a/gm/valgrind.supp
+++ b/gm/valgrind.supp
@@ -1,6 +1,11 @@
 # Pass this file to Valgrind with "--suppressions=tests/valgrind.supp"
 
 {
+    FcConfig
+    Memcheck:Addr4
+    fun:FcConfigFileExists
+}
+{
     Mesa_glsl_parsing
     Memcheck:Cond
     fun:_ZN22_mesa_glsl_parse_stateC1EP10gl_contextjPv
@@ -15,442 +20,9 @@
     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_hash_table_replace
-    Memcheck:Leak
-    fun:calloc
-    fun:hash_table_replace
-}
-{
-    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
+    RTConfRegistry_leak
     Memcheck:Leak
     fun:_Znwm
-    fun:string_to_uint_map_ctor
-    fun:_mesa_init_shader_program
+    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
 }
-{
-    Mesa_fix_func_fragment_program_leak
-    Memcheck:Leak
-    fun:malloc
-    fun:_mesa_get_fixed_func_fragment_program
-}
-{
-    Mega_get_fixed_func_fragment_program_leak
-    Memcheck:Leak
-    fun:realloc
-    ...
-    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
-}
-{
-    Mesa_init_ralloc_type
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:ralloc_autofree_context
-    fun:_ZN9glsl_type20init_ralloc_type_ctxEv
-}
-{
-    Mesa_glsl_parse_state
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    ...
-    fun:_ZN23ast_function_expression3hirEP9exec_listP22_mesa_glsl_parse_state
-}
-{
-    Mesa_ir_variable
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:ralloc_strdup
-    fun:_ZN11ir_variableC1EPK9glsl_typePKc16ir_variable_mode
-}
-{
-    Mesa_glsl_to_tgsi_visitor
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:rzalloc_size
-    fun:_ZN20glsl_to_tgsi_visitor4emitEP14ir_instructionj10st_dst_reg10st_src_regS3_S3_
-}
-{
-    LLVMModuleCreateWithNameInContext_Leak
-    Memcheck:Leak
-    fun:_Znwm
-    fun:_ZNSs4_Rep9_S_createEmmRKSaIcE
-    fun:_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag
-}
-{
-    glsl_type_glsl_base_type_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:ralloc_strdup
-    fun:_ZN9glsl_typeC1Ej14glsl_base_typejjPKc
-}
-{
-    glsl_type_glsl_struct_field_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    ...
-    fun:_ZN9glsl_typeC1EPK17glsl_struct_fieldjPKc
-}
-{
-    glsl_type_glsl_sampler_dim_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:ralloc_strdup
-    fun:_ZN9glsl_typeC1Ej16glsl_sampler_dimbbjPKc
-}
-{
-    Mesa_glsl_parse_state
-    Memcheck:Leak
-    fun:malloc
-    fun:strdup
-    fun:_Z14_mesa_glsl_lexP7YYSTYPEP7YYLTYPEPv
-    fun:_Z16_mesa_glsl_parseP22_mesa_glsl_parse_state
-}
-{
-    st_get_fp_variant_calloc_leak
-    Memcheck:Leak
-    fun:calloc
-    ...
-    fun:st_get_fp_variant
-}
-{
-    st_get_fp_variant_reall_leak
-    Memcheck:Leak
-    fun:realloc
-    ...
-    fun:st_get_fp_variant
-}
-{
-    st_validate_state_leak
-    Memcheck:Leak
-    fun:calloc
-    obj:/usr/lib/x86_64-linux-gnu/dri/libgallium.so
-    fun:st_get_fp_variant
-    obj:/usr/lib/x86_64-linux-gnu/dri/libgallium.so
-    fun:st_validate_state
-}
-{
-    tgsi_dup_tokens_leak
-    Memcheck:Leak
-    fun:malloc
-    fun:tgsi_dup_tokens
-}
-{
-    llvm_registerclassinfo_leak
-    Memcheck:Leak
-    fun:_Znam
-    fun:_ZNK4llvm17RegisterClassInfo7computeEPKNS_19TargetRegisterClassE
-}
-{
-    add_variable_ir_variable_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN17glsl_symbol_table12add_variableEP11ir_variable
-}
-{
-    glsl_to_tgsi_visitor_add_constant_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN20glsl_to_tgsi_visitor12add_constantE16gl_register_fileP17gl_constant_valueiiPj
-}
-{
-    glsl_symbol_table_add_type_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN17glsl_symbol_table8add_typeEPKcPK9glsl_type
-}
-{
-    llvm_constant_creator
-    Memcheck:Leak
-    fun:_Znwm
-    fun:_ZN4llvm4UsernwEmj
-    fun:_ZN4llvm15ConstantCreatorINS_12ConstantExprENS_4TypeENS_14ExprMapKeyTypeEE6createEPS2_RKS3_t
-}
-{
-    ir_reader_read_dereference_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN9ir_reader16read_dereferenceEP12s_expression
-}
-{
-    ast_expression_hir_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN14ast_expression3hirEP9exec_listP22_mesa_glsl_parse_state
-}
-{
-    ir_return_close_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZNK9ir_return5cloneEPvP10hash_table
-}
-{
-    ir_swizzle_create_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN10ir_swizzle6createEP9ir_rvaluePKcj
-}
-{

-    ir_swizzle_clone_leak

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZNK23ir_dereference_variable5cloneEPvP10hash_table

-    fun:_ZNK10ir_swizzle5cloneEPvP10hash_table
-}
-{

-    ir_call_generate_inline_leak

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN7ir_call15generate_inlineEP14ir_instruction

-}

-{

-    ir_dereference_variable_leak

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZNK23ir_dereference_variable5cloneEPvP10hash_table

-}

-{

-    ir_copy_propagation_elements_visitor

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN36ir_copy_propagation_elements_visitor13handle_rvalueEPP9ir_rvalue

-}

-{

-    ir_reader_read_assignement

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader15read_assignmentEP12s_expression

-}

-{

-    ir_reader_read_expression

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader15read_expressionEP12s_expression

-}

-{

-    ir_reader_read_call

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader9read_callEP12s_expression

-}

-{

-    ir_reader_read_if

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader7read_ifEP12s_expressionP7ir_loop

-}

-{

-    ir_reader_read_constant

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader13read_constantEP12s_expression

-}

-{

-    ir_call_generate_inline

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN7ir_call15generate_inlineEP14ir_instruction

-}

-{

-    draw_llvw_create_variant

-    Memcheck:Leak

-    fun:malloc

-    fun:draw_llvm_create_variant

-}

-{

-    llvmpipe_update_setup

-    Memcheck:Leak

-    fun:calloc

-    obj:/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so

-    fun:llvmpipe_update_setup

-}

-{

-    do_assignment

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_Z13do_assignmentP9exec_listP22_mesa_glsl_parse_statePKcP9ir_rvalueS6_b7YYLTYPE

-}

-{

-    Mesa_shadersourceARB

-    Memcheck:Leak

-    fun:malloc

-    fun:_mesa_ShaderSourceARB

-}

+
diff --git a/tests/valgrind.supp b/tests/valgrind.supp
index 80394fe..c006183 100644
--- a/tests/valgrind.supp
+++ b/tests/valgrind.supp
@@ -1,6 +1,11 @@
 # Pass this file to Valgrind with "--suppressions=tests/valgrind.supp"
 
 {
+    FcConfig
+    Memcheck:Addr4
+    fun:FcConfigFileExists
+}
+{
     Mesa_glsl_parsing
     Memcheck:Cond
     fun:_ZN22_mesa_glsl_parse_stateC1EP10gl_contextjPv
@@ -15,442 +20,9 @@
     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_hash_table_replace
-    Memcheck:Leak
-    fun:calloc
-    fun:hash_table_replace
-}
-{
-    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
+    RTConfRegistry_leak
     Memcheck:Leak
     fun:_Znwm
-    fun:string_to_uint_map_ctor
-    fun:_mesa_init_shader_program
+    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
 }
-{
-    Mesa_fix_func_fragment_program_leak
-    Memcheck:Leak
-    fun:malloc
-    fun:_mesa_get_fixed_func_fragment_program
-}
-{
-    Mega_get_fixed_func_fragment_program_leak
-    Memcheck:Leak
-    fun:realloc
-    ...
-    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
-}
-{
-    Mesa_init_ralloc_type
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:ralloc_autofree_context
-    fun:_ZN9glsl_type20init_ralloc_type_ctxEv
-}
-{
-    Mesa_glsl_parse_state
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    ...
-    fun:_ZN23ast_function_expression3hirEP9exec_listP22_mesa_glsl_parse_state
-}
-{
-    Mesa_ir_variable
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:ralloc_strdup
-    fun:_ZN11ir_variableC1EPK9glsl_typePKc16ir_variable_mode
-}
-{
-    Mesa_glsl_to_tgsi_visitor
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:rzalloc_size
-    fun:_ZN20glsl_to_tgsi_visitor4emitEP14ir_instructionj10st_dst_reg10st_src_regS3_S3_
-}
-{
-    LLVMModuleCreateWithNameInContext_Leak
-    Memcheck:Leak
-    fun:_Znwm
-    fun:_ZNSs4_Rep9_S_createEmmRKSaIcE
-    fun:_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag
-}
-{
-    glsl_type_glsl_base_type_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:ralloc_strdup
-    fun:_ZN9glsl_typeC1Ej14glsl_base_typejjPKc
-}
-{
-    glsl_type_glsl_struct_field_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    ...
-    fun:_ZN9glsl_typeC1EPK17glsl_struct_fieldjPKc
-}
-{
-    glsl_type_glsl_sampler_dim_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:ralloc_strdup
-    fun:_ZN9glsl_typeC1Ej16glsl_sampler_dimbbjPKc
-}
-{
-    Mesa_glsl_parse_state
-    Memcheck:Leak
-    fun:malloc
-    fun:strdup
-    fun:_Z14_mesa_glsl_lexP7YYSTYPEP7YYLTYPEPv
-    fun:_Z16_mesa_glsl_parseP22_mesa_glsl_parse_state
-}
-{
-    st_get_fp_variant_calloc_leak
-    Memcheck:Leak
-    fun:calloc
-    ...
-    fun:st_get_fp_variant
-}
-{
-    st_get_fp_variant_reall_leak
-    Memcheck:Leak
-    fun:realloc
-    ...
-    fun:st_get_fp_variant
-}
-{
-    st_validate_state_leak
-    Memcheck:Leak
-    fun:calloc
-    obj:/usr/lib/x86_64-linux-gnu/dri/libgallium.so
-    fun:st_get_fp_variant
-    obj:/usr/lib/x86_64-linux-gnu/dri/libgallium.so
-    fun:st_validate_state
-}
-{
-    tgsi_dup_tokens_leak
-    Memcheck:Leak
-    fun:malloc
-    fun:tgsi_dup_tokens
-}
-{
-    llvm_registerclassinfo_leak
-    Memcheck:Leak
-    fun:_Znam
-    fun:_ZNK4llvm17RegisterClassInfo7computeEPKNS_19TargetRegisterClassE
-}
-{
-    add_variable_ir_variable_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN17glsl_symbol_table12add_variableEP11ir_variable
-}
-{
-    glsl_to_tgsi_visitor_add_constant_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN20glsl_to_tgsi_visitor12add_constantE16gl_register_fileP17gl_constant_valueiiPj
-}
-{
-    glsl_symbol_table_add_type_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN17glsl_symbol_table8add_typeEPKcPK9glsl_type
-}
-{
-    llvm_constant_creator
-    Memcheck:Leak
-    fun:_Znwm
-    fun:_ZN4llvm4UsernwEmj
-    fun:_ZN4llvm15ConstantCreatorINS_12ConstantExprENS_4TypeENS_14ExprMapKeyTypeEE6createEPS2_RKS3_t
-}
-{
-    ir_reader_read_dereference_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN9ir_reader16read_dereferenceEP12s_expression
-}
-{
-    ast_expression_hir_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN14ast_expression3hirEP9exec_listP22_mesa_glsl_parse_state
-}
-{
-    ir_return_close_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZNK9ir_return5cloneEPvP10hash_table
-}
-{
-    ir_swizzle_create_leak
-    Memcheck:Leak
-    fun:calloc
-    fun:ralloc_size
-    fun:_ZN10ir_swizzle6createEP9ir_rvaluePKcj
-}
-{

-    ir_swizzle_clone_leak

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZNK23ir_dereference_variable5cloneEPvP10hash_table

-    fun:_ZNK10ir_swizzle5cloneEPvP10hash_table
-}
-{

-    ir_call_generate_inline_leak

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN7ir_call15generate_inlineEP14ir_instruction

-}

-{

-    ir_dereference_variable_leak

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZNK23ir_dereference_variable5cloneEPvP10hash_table

-}

-{

-    ir_copy_propagation_elements_visitor

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN36ir_copy_propagation_elements_visitor13handle_rvalueEPP9ir_rvalue

-}

-{

-    ir_reader_read_assignement

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader15read_assignmentEP12s_expression

-}

-{

-    ir_reader_read_expression

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader15read_expressionEP12s_expression

-}

-{

-    ir_reader_read_call

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader9read_callEP12s_expression

-}

-{

-    ir_reader_read_if

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader7read_ifEP12s_expressionP7ir_loop

-}

-{

-    ir_reader_read_constant

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN9ir_reader13read_constantEP12s_expression

-}

-{

-    ir_call_generate_inline

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_ZN7ir_call15generate_inlineEP14ir_instruction

-}

-{

-    draw_llvw_create_variant

-    Memcheck:Leak

-    fun:malloc

-    fun:draw_llvm_create_variant

-}

-{

-    llvmpipe_update_setup

-    Memcheck:Leak

-    fun:calloc

-    obj:/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so

-    fun:llvmpipe_update_setup

-}

-{

-    do_assignment

-    Memcheck:Leak

-    fun:calloc

-    fun:ralloc_size

-    fun:_Z13do_assignmentP9exec_listP22_mesa_glsl_parse_statePKcP9ir_rvalueS6_b7YYLTYPE

-}

-{

-    Mesa_shadersourceARB

-    Memcheck:Leak

-    fun:malloc

-    fun:_mesa_ShaderSourceARB

-}

+
diff --git a/tools/valgrind.supp b/tools/valgrind.supp
new file mode 100644
index 0000000..c006183
--- /dev/null
+++ b/tools/valgrind.supp
@@ -0,0 +1,28 @@
+# Pass this file to Valgrind with "--suppressions=tests/valgrind.supp"
+
+{
+    FcConfig
+    Memcheck:Addr4
+    fun:FcConfigFileExists
+}
+{
+    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
+}
+{
+    RTConfRegistry_leak
+    Memcheck:Leak
+    fun:_Znwm
+    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
+}
+