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

# Intentional thread / memory leak in nanobench.
{
   nanobench_keepalive_thread_leak
   Memcheck:Leak
   match-leak-kinds: possible,definite
   ...
   fun:start_keepalive
   ...
   fun:main
}
{
   nanobench_keepalive_thread_leak2
   Memcheck:Leak
   match-leak-kinds: possible,definite
   ...
   fun:_ZNSt6threadC2IZL15start_keepalivevE3$_0JEvEEOT_DpOT0_
   ...
   fun:main
}
{
   nanobench_keepalive_thread_leak3
   Memcheck:Leak
   match-leak-kinds: possible,definite
   ...
   fun:_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE
   ...
   fun:main
}
{
   new_SkNullWStream
   Memcheck:Leak
   match-leak-kinds: definite
   fun:_Znwm
   fun:main
}

# Third party lib, driver issues.
{
    ati_driver_bug_1
    Memcheck:Param
    ioctl(generic)
    fun:ioctl
    ...
    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
}
{
    ati_driver_bug_2
    Memcheck:Cond
    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
}
{
    ati_driver_bug_3
    Memcheck:Addr8
    ...
    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
}
{
    ati_driver_bug_4
    Memcheck:Addr4
    ...
    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
}
{
    ati_driver_bug_5
    Memcheck:Addr2
    ...
    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
}
{
    ati_driver_bug_6
    Memcheck:Addr1
    ...
    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
}
{
    ati_driver_bug_7
    Memcheck:Leak
    fun:malloc
    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
}
{
    driver_bug_8
    Memcheck:Overlap
    fun:strcpy
    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
}
{
    ati_driver_bug_9
    Memcheck:Leak
    fun:calloc
    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
}
{
    ati_driver_bug_10
    Memcheck:Leak
    fun:malloc
    obj:/usr/lib/fglrx/fglrx-libGL.so.1.2
}
{
    nv_driver_bug_1
    Memcheck:Param
    write(buf)
    ...
    obj:*/libnvidia-glcore.so*
}
{
    nv_driver_bug_2
    Memcheck:Cond
    ...
    obj:*/libnvidia-glcore.so*
}
{
    nv_driver_bug_3
    Memcheck:Leak
    fun:calloc
    obj:/usr/lib*/libGL.so*
}
{
   nv_driver_bug_4
   Memcheck:Param
   sendmsg(msg.msg_iov[0])
   fun:sendmsg
   obj:*/libGLX_nvidia.so*
}
{
   nv_driver_bug_5
   Memcheck:Leak
   fun:malloc
   ...
   obj:*/libGLX_nvidia.so*
}
{
    nv_driver_bug_6
    Memcheck:Leak
    fun:calloc
    ...
    obj:*/libGLX_nvidia.so*
}
{
    nv_driver_bug_7
    Memcheck:Leak
    fun:realloc
    ...
    obj:*/libGLX_nvidia.so*
}
{
    #Fixed by FontConfig 2.9.0
    #http://cgit.freedesktop.org/fontconfig/commit/?id=1c475d5c8cb265ac939d6b9e097666e300162511
    font_config_bug_1
    Memcheck:Addr4
    fun:FcConfigFileExists
}
{
    #https://bugs.freedesktop.org/show_bug.cgi?id=8215
    #https://bugs.freedesktop.org/show_bug.cgi?id=8428
    #FcPattern uses 'intptr_t elts_offset' instead of 'FcPatternEltPtr elts',
    #which confuses valgrind.
    font_config_bug_2
    Memcheck:Leak
    fun:*alloc
    ...
    fun:Fc*Add*
}
{
    #Same root cause as font_config_bug_2.
    #The 'leak' here is a copy of rule values, as opposed to new values.
    font_config_bug_3
    Memcheck:Leak
    fun:*alloc
    ...
    fun:FcConfigValues
    fun:FcConfigSubstituteWithPat
    fun:FcFontRenderPrepare
}
{
    #Same root cause as font_config_bug_2.
    #The 'leak' is copies of font or pattern values into returned pattern values.
    font_config_bug_4
    Memcheck:Leak
    fun:*alloc
    ...
    fun:FcValue*
    fun:FcFontRenderPrepare
}
{
   font_config_bug_5
   Memcheck:Leak
   fun:malloc
   obj:*/libfontconfig.so.1.8.0
   fun:FcConfigSubstituteWithPat
}
{
   font_config_bug_6
   Memcheck:Leak
   fun:*alloc
   ...
   obj:*/libfontconfig.so.1.8.0
   fun:FcFont*
}
{
    zlib_bug_1
    Memcheck:Cond
    fun:inflateReset2
    fun:inflateInit2_
    fun:png_create_read_struct_2
    fun:png_create_read_struct
}
{
    zlib_bug_2
    Memcheck:Cond
    fun:inflateReset2
    fun:inflateInit2_
    fun:_ZN12_GLOBAL__N_17doFlateEbP8SkStreamP9SkWStream
    fun:_ZN7SkFlate7InflateEP8SkStreamP9SkWStream
}

# Why is it OK to suppress this?
{
    SkRTConfRegistry_bug_1
    Memcheck:Leak
    fun:_Znwm
    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
}

# The gpu_issue_* suppressions suppress issues that cannot be reproduced locally. These appear to be
# due to valgrind not knowing about memory mapped by the ATI driver via glMapBuffer.
{
    gpu_issue_1
    Memcheck:Addr2
    fun:_ZNK5GrGpu18getQuadIndexBufferEv
}
{
    gpu_issue_2
    Memcheck:Addr2
    fun:_ZN24GrAAHairLinePathRenderer6CreateEP9GrContext
}
{
    gpu_issue_3
    Memcheck:Addr2
    fun:_ZN16GrAARectRenderer21aaFillRectIndexBufferEP5GrGpu
}
{
    gpu_issue_4
    Memcheck:Addr8
    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
}
{
    gpu_issue_5
    Memcheck:Addr8
    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
}
{
    gpu_issue_6
    Memcheck:Addr8
    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
}
{
    gpu_issue_7
    Memcheck:Addr4
    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
}
{
    gpu_issue_8
    Memcheck:Addr4
    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
}
{
    gpu_issue_9
    Memcheck:Addr2
    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
}
{
    gpu_issue_10
    Memcheck:Addr4
    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
}
{
    gpu_issue_11
    Memcheck:Addr2
    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
}
{
    gpu_issue_12
    Memcheck:Addr8
    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
}
{
    gpu_issue_13
    Memcheck:Addr4
    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
}
{
    gpu_issue_14
    Memcheck:Addr4
    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
}
{
    gpu_issue_15
    Memcheck:Addr2
    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
}
{
    libjpeg_turbo_bug4550_1
    Memcheck:Cond
    fun:_Z26S32A_Opaque_BlitRow32_SSE4PjPKjij
    fun:_ZN14Sprite_D32_S328blitRectEiiii
}
{
    libjpeg_turbo_bug4550_2
    Memcheck:Cond
    fun:_ZL15S32A_D565_BlendPtPKjijii
    fun:_ZN26Sprite_D16_S32_BlitRowProc8blitRectEiiii
}
{
    libjpeg_turbo_bug4550_3
    Memcheck:Cond
    fun:_ZN12_GLOBAL__N_120ConvolveHorizontallyILb0EEEvPKhRK21SkConvolutionFilter1DPh
    fun:_Z14BGRAConvolve2DPKhibRK21SkConvolutionFilter1DS3_iPhRK18SkConvolutionProcsb
}
#Something odd is happening in SkRasterPipeline when called by GrConvertPixels and GrClearImage.
#It seems bogus after investigation. MSAN/ASAN have no complaints. It's complaining about
#conditional jump or use of var that is "uninitialized" but it definitely is.
{
   grconvertpixels_rasterpipeline
   Memcheck:Cond
   ...
   fun:_ZNK16SkRasterPipeline3runEmmmm
   fun:_Z15GrConvertPixelsRK11GrImageInfoPvmS1_PKvmb
   ...
}
{
   grconvertpixels_rasterpipeline
   Memcheck:Value8
   ...
   fun:_ZNK16SkRasterPipeline3runEmmmm
   fun:_Z15GrConvertPixelsRK11GrImageInfoPvmS1_PKvmb
   ...
}
{
   grclearimage_rasterpipeline
   Memcheck:Cond
   ...
   fun:_ZNK16SkRasterPipeline3runEmmmm
   fun:_Z12GrClearImageRK11GrImageInfoPvm8SkRGBA4fIL11SkAlphaType3EE
   ...
}
{
   grclearimage_rasterpipeline
   Memcheck:Value8
   ...
   fun:_ZNK16SkRasterPipeline3runEmmmm
   fun:_Z12GrClearImageRK11GrImageInfoPvm8SkRGBA4fIL11SkAlphaType3EE
   ...
}
{
   make_get_error_with_random_oom1
   Memcheck:Leak
   match-leak-kinds: definite
   ...
   fun:_Z30make_get_error_with_random_oom12GrGLFunctionIFjvEE
   ...
}
{
   make_get_error_with_random_oom2
   Memcheck:Leak
   match-leak-kinds: definite
   ...
   fun:make_get_error_with_random_oom
   ...
}
{
   make_get_error_with_random_oom3
   Memcheck:Leak
   match-leak-kinds: definite
   fun:_Znwm
   fun:_ZN15GrDirectContext6MakeGLE5sk_spIK13GrGLInterfaceERK16GrContextOptions
   fun:_ZN11sk_gpu_test16GrContextFactory22getContextInfoInternalENS0_11ContextTypeENS0_16ContextOverridesEP15GrDirectContextj
   fun:_ZN11sk_gpu_test16GrContextFactory3getENS0_11ContextTypeENS0_16ContextOverridesE
   fun:_ZL20test_GrContext_oomedPN8skiatest8ReporterERK16GrContextOptions
   fun:_ZNK8skiatest4Test6ganeshEPNS_8ReporterERK16GrContextOptions
   fun:main
}
