[.] Sanitizer coverage enabled. Counter map size: 2406679, Cmp map size: 262144 Note: Google Test filter = GpuRasterPixelTest.POC_ForgedSlugCreationMatrix_AtlasBilerpBleed [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from GpuRasterPixelTest [ RUN ] GpuRasterPixelTest.POC_ForgedSlugCreationMatrix_AtlasBilerpBleed [POC] === Pass A: forged draw on FRESH atlas === [POC][renderer-side] VertexFiller::flatten: FORGED creationMatrix (postTranslate(-0.5,-0.5)); fCanDrawDirect=1 maskFormat=0 [3622:3643:WARNING:ui/gfx/linux/gbm_support_x11.cc:48] dri3 extension not supported. [POC][gpu-side] *** INVARIANT VIOLATION *** AtlasTextOp::Make: needsTransform=true (→ kLinear filter) for DirectMaskSubRun with glyphSrcPadding()=0 (→ zero-border atlas pack). Bilinear sampler will bleed neighbouring atlas texels. violation_count=1 [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=3 h=15 [POC][gpu-side] ↳ atlas rect L=0 T=0 R=3 B=15 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC] === Pass B: prime atlas with victim glyphs, then forged draw === [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=14 h=15 [POC][gpu-side] ↳ atlas rect L=0 T=0 R=14 B=15 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=14 h=15 [POC][gpu-side] ↳ atlas rect L=14 T=0 R=28 B=15 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=15 h=15 [POC][gpu-side] ↳ atlas rect L=28 T=0 R=43 B=15 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=18 h=18 [POC][gpu-side] ↳ atlas rect L=43 T=0 R=61 B=18 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=15 h=15 [POC][gpu-side] ↳ atlas rect L=61 T=0 R=76 B=15 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=20 h=15 [POC][gpu-side] ↳ atlas rect L=76 T=0 R=96 B=15 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=14 h=18 [POC][gpu-side] ↳ atlas rect L=96 T=0 R=110 B=18 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=13 h=15 [POC][gpu-side] ↳ atlas rect L=110 T=0 R=123 B=15 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC][gpu-side] GrAtlasManager::addGlyphToAtlas: DirectMask glyph packed with padding=0 (fSupportBilerpAtlas=0). w=3 h=15 [POC][gpu-side] ↳ atlas rect L=123 T=0 R=126 B=15 (insetSrc(0) → no inset; UVs span exact glyph footprint) [POC][renderer-side] VertexFiller::flatten: FORGED creationMatrix (postTranslate(-0.5,-0.5)); fCanDrawDirect=1 maskFormat=0 [POC][gpu-side] *** INVARIANT VIOLATION *** AtlasTextOp::Make: needsTransform=true (→ kLinear filter) for DirectMaskSubRun with glyphSrcPadding()=0 (→ zero-border atlas pack). Bilinear sampler will bleed neighbouring atlas texels. violation_count=1 [POC] gPOCAtlasBleedViolationCount after forged raster = 1 [POC] bleed @(12,9): kNearest=FFFFFFFF (own mask=255) kLinear=ff939393 → neighbour-atlas-texel contribution=108/255 [POC] bleed @(12,10): kNearest=FFFFFFFF (own mask=255) kLinear=ff939393 → neighbour-atlas-texel contribution=108/255 [POC] bleed @(12,11): kNearest=FFFFFFFF (own mask=255) kLinear=ff939393 → neighbour-atlas-texel contribution=108/255 [POC] bleed @(12,12): kNearest=FFFFFFFF (own mask=255) kLinear=ff939393 → neighbour-atlas-texel contribution=108/255 [POC] forged-vs-baseline: 45 differing pixels, max channel delta=108/255, solid->dimmed=15, empty->brightened=0 [POC] *** CROSS-GLYPH LEAK *** @(11,9): forged{empty-atlas}=ff262626 forged{victim-primed}=ff646464 (victim-texel-contribution=62/255) [POC] *** CROSS-GLYPH LEAK *** @(11,10): forged{empty-atlas}=ff262626 forged{victim-primed}=ff5e5e5e (victim-texel-contribution=56/255) [POC] *** CROSS-GLYPH LEAK *** @(11,11): forged{empty-atlas}=ff262626 forged{victim-primed}=ff373737 (victim-texel-contribution=17/255) [POC] *** CROSS-GLYPH LEAK *** @(11,12): forged{empty-atlas}=ff262626 forged{victim-primed}=ff141414 (victim-texel-contribution=18/255) [POC] *** CROSS-GLYPH LEAK *** @(11,13): forged{empty-atlas}=ff262626 forged{victim-primed}=ff131313 (victim-texel-contribution=19/255) [POC] *** CROSS-GLYPH LEAK *** @(11,14): forged{empty-atlas}=ff262626 forged{victim-primed}=ff131313 (victim-texel-contribution=19/255) [POC] Pass-A vs Pass-B (identical attacker draw, only atlas neighbour differs): 15 leaked pixels, max delta=87/255 [ OK ] GpuRasterPixelTest.POC_ForgedSlugCreationMatrix_AtlasBilerpBleed (127 ms) [----------] 1 test from GpuRasterPixelTest (129 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (130 ms total) [ PASSED ] 1 test.