b5213e69c5
It has been demonstrated that higher quality settings really do make a difference in the visual quality of the output image. https://code.google.com/p/chromium/issues/detail?id=385515 https://code.google.com/p/skia/issues/detail?id=3770 We are planning to replace SkImageDecoder with SkCodec, and SkCodec will use the higher quality settings. As a first step, we are using SkCodec as the underlying implementation for BitmapRegionDecoder. CTS tests require that BitmapRegionDecoder be a close match to BitmapFactory (which uses SkImageDecoder), so we must also update the quality of SkImageDecoder to maintain CTS compatibility. BUG=skia: Committed: https://skia.googlesource.com/skia/+/69ad6a9d03dd6f14b7c730465319313725a7c903 Review URL: https://codereview.chromium.org/1412803009
312 lines
9.6 KiB
Plaintext
312 lines
9.6 KiB
Plaintext
# Pass this file to Valgrind with "--suppressions=tools/valgrind.supp"
|
|
|
|
# Intentional thread / memory leak in DM.
|
|
{
|
|
dm_keepalive_thread_leak
|
|
Memcheck:Leak
|
|
match-leak-kinds: possible
|
|
...
|
|
fun:_ZN8SkThreadC1EPFvPvES0_
|
|
...
|
|
fun:_Z7dm_mainv
|
|
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*
|
|
}
|
|
{
|
|
#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
|
|
}
|
|
{
|
|
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
|
|
fun:_ZN6SkScan9FillIRectERK7SkIRectPK8SkRegionP9SkBlitter
|
|
fun:_ZN6SkScan9FillIRectERK7SkIRectRK12SkRasterClipP9SkBlitter
|
|
fun:_ZNK6SkDraw10drawBitmapERK8SkBitmapRK8SkMatrixPK6SkRectRK7SkPaint
|
|
fun:_ZN14SkBitmapDevice10drawBitmapERK6SkDrawRK8SkBitmapRK8SkMatrixRK7SkPaint
|
|
fun:_ZN12SkBaseDevice9drawImageERK6SkDrawPK7SkImageffRK7SkPaint
|
|
fun:_ZN8SkCanvas11onDrawImageEPK7SkImageffPK7SkPaint
|
|
fun:_ZN8SkCanvas9drawImageEPK7SkImageffPK7SkPaint
|
|
fun:_ZN8SKPBench19onPerCanvasPostDrawEP8SkCanvas
|
|
fun:_ZN9Benchmark17perCanvasPostDrawEP8SkCanvas
|
|
fun:_Z14nanobench_mainv
|
|
fun:main
|
|
}
|
|
{
|
|
libjpeg_turbo_bug4550_2
|
|
Memcheck:Cond
|
|
fun:_ZL15S32A_D565_BlendPtPKjijii
|
|
fun:_ZN26Sprite_D16_S32_BlitRowProc8blitRectEiiii
|
|
fun:_ZN6SkScan9FillIRectERK7SkIRectPK8SkRegionP9SkBlitter
|
|
fun:_ZN6SkScan9FillIRectERK7SkIRectRK12SkRasterClipP9SkBlitter
|
|
fun:_ZNK6SkDraw10drawSpriteERK8SkBitmapiiRK7SkPaint
|
|
fun:_ZN14SkBitmapDevice10drawDeviceERK6SkDrawP12SkBaseDeviceiiRK7SkPaint
|
|
fun:_ZN8SkCanvas18internalDrawDeviceEP12SkBaseDeviceiiPK7SkPaintb
|
|
fun:_ZN8SkCanvas15internalRestoreEv
|
|
fun:_ZN8SkCanvas7restoreEv
|
|
fun:_Z12SkRecordDrawRK8SkRecordP8SkCanvasPKPK9SkPicturePKP10SkDrawableiPK15SkBBoxHierarchyPNS4_13AbortCallbackE
|
|
fun:_ZNK12SkBigPicture8playbackEP8SkCanvasPN9SkPicture13AbortCallbackE
|
|
fun:_ZN8SkCanvas13onDrawPictureEPK9SkPicturePK8SkMatrixPK7SkPaint
|
|
fun:_ZN8SkCanvas11drawPictureEPK9SkPicturePK8SkMatrixPK7SkPaint
|
|
fun:_ZN9SkRecords4Draw4drawINS_11DrawPictureEEEvRKT_
|
|
fun:_Z12SkRecordDrawRK8SkRecordP8SkCanvasPKPK9SkPicturePKP10SkDrawableiPK15SkBBoxHierarchyPNS4_13AbortCallbackE
|
|
fun:_ZNK12SkBigPicture8playbackEP8SkCanvasPN9SkPicture13AbortCallbackE
|
|
fun:_ZN8SkCanvas13onDrawPictureEPK9SkPicturePK8SkMatrixPK7SkPaint
|
|
fun:_ZN8SkCanvas11drawPictureEPK9SkPicturePK8SkMatrixPK7SkPaint
|
|
fun:_ZN18SkMultiPictureDraw8DrawData4drawEv
|
|
fun:_ZZ15sk_parallel_forIZN18SkMultiPictureDraw4drawEbEUliE_EviRKT_ENUlPZS_IS1_EviS4_E5ChunkE_4_FUNES6_
|
|
fun:_ZN12_GLOBAL__N_110ThreadPool4LoopEPv
|
|
fun:_ZL12thread_startPv
|
|
fun:start_thread
|
|
fun:clone
|
|
}
|
|
{
|
|
libjpeg_turbo_bug4550_3
|
|
Memcheck:Cond
|
|
fun:_ZN12_GLOBAL__N_120ConvolveHorizontallyILb0EEEvPKhRK21SkConvolutionFilter1DPh
|
|
fun:_Z14BGRAConvolve2DPKhibRK21SkConvolutionFilter1DS3_iPhRK18SkConvolutionProcsb
|
|
fun:_ZN14SkBitmapScaler6ResizeEP8SkBitmapRK8SkPixmapNS_12ResizeMethodEiiPNS0_9AllocatorE
|
|
fun:_ZN30SkDefaultBitmapControllerState16processHQRequestERK16SkBitmapProvider
|
|
fun:_ZN30SkDefaultBitmapControllerStateC1ERK16SkBitmapProviderRK8SkMatrix15SkFilterQuality
|
|
fun:_ZN25SkDefaultBitmapController15onRequestBitmapERK16SkBitmapProviderRK8SkMatrix15SkFilterQualityPvm
|
|
fun:_ZN18SkBitmapController13requestBitmapERK16SkBitmapProviderRK8SkMatrix15SkFilterQualityPvm
|
|
fun:_ZN17SkBitmapProcState11chooseProcsERK8SkMatrixRK7SkPaint
|
|
fun:_ZN18SkBitmapProcShader11MakeContextERK8SkShaderNS0_8TileModeES3_RK16SkBitmapProviderRKNS0_10ContextRecEPv
|
|
fun:_ZNK18SkBitmapProcShader15onCreateContextERKN8SkShader10ContextRecEPv
|
|
fun:_ZNK8SkShader13createContextERKNS_10ContextRecEPv
|
|
fun:_ZN9SkBlitter6ChooseERK8SkPixmapRK8SkMatrixRK7SkPaintP16SkSmallAllocatorILj3ELm1160EEb
|
|
fun:_ZNK6SkDraw8drawRectERK6SkRectRK7SkPaintPK8SkMatrixPS1_
|
|
fun:_ZNK6SkDraw10drawBitmapERK8SkBitmapRK8SkMatrixPK6SkRectRK7SkPaint
|
|
fun:_ZN14SkBitmapDevice14drawBitmapRectERK6SkDrawRK8SkBitmapPK6SkRectRS7_RK7SkPaintN8SkCanvas17SrcRectConstraintE
|
|
fun:_ZN12SkBaseDevice13drawImageRectERK6SkDrawPK7SkImagePK6SkRectRS7_RK7SkPaintN8SkCanvas17SrcRectConstraintE
|
|
fun:_ZN8SkCanvas15onDrawImageRectEPK7SkImagePK6SkRectRS4_PK7SkPaintNS_17SrcRectConstraintE
|
|
fun:_ZN8SkCanvas13drawImageRectEPK7SkImageRK6SkRectS5_PK7SkPaintNS_17SrcRectConstraintE
|
|
fun:_ZN8SkCanvas20legacy_drawImageRectEPK7SkImagePK6SkRectRS4_PK7SkPaintNS_17SrcRectConstraintE
|
|
fun:_ZN9SkRecords4Draw4drawINS_13DrawImageRectEEEvRKT_
|
|
fun:_Z12SkRecordDrawRK8SkRecordP8SkCanvasPKPK9SkPicturePKP10SkDrawableiPK15SkBBoxHierarchyPNS4_13AbortCallbackE
|
|
fun:_ZNK12SkBigPicture8playbackEP8SkCanvasPN9SkPicture13AbortCallbackE
|
|
fun:_ZN8SkCanvas13onDrawPictureEPK9SkPicturePK8SkMatrixPK7SkPaint
|
|
fun:_ZN8SkCanvas11drawPictureEPK9SkPicturePK8SkMatrixPK7SkPaint
|
|
}
|