From 7c6b05aa67a8a9b5e681989168449bd70a36b5f7 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 13 Feb 2024 13:08:07 -0800 Subject: [PATCH 1/7] [Impeller] switched golden tests output to check golden file --- testing/impeller_golden_tests_output.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 testing/impeller_golden_tests_output.txt diff --git a/testing/impeller_golden_tests_output.txt b/testing/impeller_golden_tests_output.txt new file mode 100644 index 0000000000000..e69de29bb2d1d From 06d926e35febc3a6c0cb2dfa4f39ebfd02797ac2 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 13 Feb 2024 14:16:24 -0800 Subject: [PATCH 2/7] updated the file and the script --- testing/impeller_golden_tests_output.txt | 322 +++++++++++++++++++++++ testing/run_tests.py | 29 ++ 2 files changed, 351 insertions(+) diff --git a/testing/impeller_golden_tests_output.txt b/testing/impeller_golden_tests_output.txt index e69de29bb2d1d..2aeb07be81f7a 100644 --- a/testing/impeller_golden_tests_output.txt +++ b/testing/impeller_golden_tests_output.txt @@ -0,0 +1,322 @@ +digest.json +impeller_GoldenTests_ConicalGradient.png +impeller_Play_AiksTest_BlendModeClear_Metal.png +impeller_Play_AiksTest_BlendModeClear_Vulkan.png +impeller_Play_AiksTest_BlendModeColorBurn_Metal.png +impeller_Play_AiksTest_BlendModeColorBurn_Vulkan.png +impeller_Play_AiksTest_BlendModeColorDodge_Metal.png +impeller_Play_AiksTest_BlendModeColorDodge_Vulkan.png +impeller_Play_AiksTest_BlendModeColor_Metal.png +impeller_Play_AiksTest_BlendModeColor_Vulkan.png +impeller_Play_AiksTest_BlendModeDarken_Metal.png +impeller_Play_AiksTest_BlendModeDarken_Vulkan.png +impeller_Play_AiksTest_BlendModeDestinationATop_Metal.png +impeller_Play_AiksTest_BlendModeDestinationATop_Vulkan.png +impeller_Play_AiksTest_BlendModeDestinationIn_Metal.png +impeller_Play_AiksTest_BlendModeDestinationIn_Vulkan.png +impeller_Play_AiksTest_BlendModeDestinationOut_Metal.png +impeller_Play_AiksTest_BlendModeDestinationOut_Vulkan.png +impeller_Play_AiksTest_BlendModeDestinationOver_Metal.png +impeller_Play_AiksTest_BlendModeDestinationOver_Vulkan.png +impeller_Play_AiksTest_BlendModeDestination_Metal.png +impeller_Play_AiksTest_BlendModeDestination_Vulkan.png +impeller_Play_AiksTest_BlendModeDifference_Metal.png +impeller_Play_AiksTest_BlendModeDifference_Vulkan.png +impeller_Play_AiksTest_BlendModeExclusion_Metal.png +impeller_Play_AiksTest_BlendModeExclusion_Vulkan.png +impeller_Play_AiksTest_BlendModeHardLight_Metal.png +impeller_Play_AiksTest_BlendModeHardLight_Vulkan.png +impeller_Play_AiksTest_BlendModeHue_Metal.png +impeller_Play_AiksTest_BlendModeHue_Vulkan.png +impeller_Play_AiksTest_BlendModeLighten_Metal.png +impeller_Play_AiksTest_BlendModeLighten_Vulkan.png +impeller_Play_AiksTest_BlendModeLuminosity_Metal.png +impeller_Play_AiksTest_BlendModeLuminosity_Vulkan.png +impeller_Play_AiksTest_BlendModeModulate_Metal.png +impeller_Play_AiksTest_BlendModeModulate_Vulkan.png +impeller_Play_AiksTest_BlendModeMultiply_Metal.png +impeller_Play_AiksTest_BlendModeMultiply_Vulkan.png +impeller_Play_AiksTest_BlendModeOverlay_Metal.png +impeller_Play_AiksTest_BlendModeOverlay_Vulkan.png +impeller_Play_AiksTest_BlendModePlus_Metal.png +impeller_Play_AiksTest_BlendModePlus_Vulkan.png +impeller_Play_AiksTest_BlendModeSaturation_Metal.png +impeller_Play_AiksTest_BlendModeSaturation_Vulkan.png +impeller_Play_AiksTest_BlendModeScreen_Metal.png +impeller_Play_AiksTest_BlendModeScreen_Vulkan.png +impeller_Play_AiksTest_BlendModeShouldCoverWholeScreen_Metal.png +impeller_Play_AiksTest_BlendModeShouldCoverWholeScreen_Vulkan.png +impeller_Play_AiksTest_BlendModeSoftLight_Metal.png +impeller_Play_AiksTest_BlendModeSoftLight_Vulkan.png +impeller_Play_AiksTest_BlendModeSourceATop_Metal.png +impeller_Play_AiksTest_BlendModeSourceATop_Vulkan.png +impeller_Play_AiksTest_BlendModeSourceIn_Metal.png +impeller_Play_AiksTest_BlendModeSourceIn_Vulkan.png +impeller_Play_AiksTest_BlendModeSourceOut_Metal.png +impeller_Play_AiksTest_BlendModeSourceOut_Vulkan.png +impeller_Play_AiksTest_BlendModeSourceOver_Metal.png +impeller_Play_AiksTest_BlendModeSourceOver_Vulkan.png +impeller_Play_AiksTest_BlendModeSource_Metal.png +impeller_Play_AiksTest_BlendModeSource_Vulkan.png +impeller_Play_AiksTest_BlendModeXor_Metal.png +impeller_Play_AiksTest_BlendModeXor_Vulkan.png +impeller_Play_AiksTest_CanCanvasDrawPictureWithAdvancedBlend_Metal.png +impeller_Play_AiksTest_CanCanvasDrawPictureWithAdvancedBlend_Vulkan.png +impeller_Play_AiksTest_CanCanvasDrawPictureWithBackdropFilter_Metal.png +impeller_Play_AiksTest_CanCanvasDrawPictureWithBackdropFilter_Vulkan.png +impeller_Play_AiksTest_CanCanvasDrawPicture_Metal.png +impeller_Play_AiksTest_CanCanvasDrawPicture_Vulkan.png +impeller_Play_AiksTest_CanDrawAnOpenPathThatIsntARect_Metal.png +impeller_Play_AiksTest_CanDrawAnOpenPathThatIsntARect_Vulkan.png +impeller_Play_AiksTest_CanDrawAnOpenPath_Metal.png +impeller_Play_AiksTest_CanDrawAnOpenPath_Vulkan.png +impeller_Play_AiksTest_CanDrawPaintMultipleTimes_Metal.png +impeller_Play_AiksTest_CanDrawPaintMultipleTimes_Vulkan.png +impeller_Play_AiksTest_CanDrawPaintWithAdvancedBlend_Metal.png +impeller_Play_AiksTest_CanDrawPaintWithAdvancedBlend_Vulkan.png +impeller_Play_AiksTest_CanDrawPaint_Metal.png +impeller_Play_AiksTest_CanDrawPaint_Vulkan.png +impeller_Play_AiksTest_CanDrawPointsWithTextureMap_Metal.png +impeller_Play_AiksTest_CanDrawPointsWithTextureMap_Vulkan.png +impeller_Play_AiksTest_CanDrawPoints_Metal.png +impeller_Play_AiksTest_CanDrawPoints_Vulkan.png +impeller_Play_AiksTest_CanPerformFullScreenMSAA_Metal.png +impeller_Play_AiksTest_CanPerformFullScreenMSAA_Vulkan.png +impeller_Play_AiksTest_CanPerformSaveLayerWithBoundsAndLargerIntermediateIsNotAllocated_Metal.png +impeller_Play_AiksTest_CanPerformSaveLayerWithBoundsAndLargerIntermediateIsNotAllocated_Vulkan.png +impeller_Play_AiksTest_CanPerformSaveLayerWithBounds_Metal.png +impeller_Play_AiksTest_CanPerformSaveLayerWithBounds_Vulkan.png +impeller_Play_AiksTest_CanPerformSkew_Metal.png +impeller_Play_AiksTest_CanPerformSkew_Vulkan.png +impeller_Play_AiksTest_CanPictureConvertToImage_Metal.png +impeller_Play_AiksTest_CanPictureConvertToImage_Vulkan.png +impeller_Play_AiksTest_CanRenderBackdropBlurHugeSigma_Metal.png +impeller_Play_AiksTest_CanRenderBackdropBlurHugeSigma_Vulkan.png +impeller_Play_AiksTest_CanRenderBackdropBlur_Metal.png +impeller_Play_AiksTest_CanRenderBackdropBlur_Vulkan.png +impeller_Play_AiksTest_CanRenderClippedBlur_Metal.png +impeller_Play_AiksTest_CanRenderClippedBlur_Vulkan.png +impeller_Play_AiksTest_CanRenderClippedLayers_Metal.png +impeller_Play_AiksTest_CanRenderClippedLayers_Vulkan.png +impeller_Play_AiksTest_CanRenderClippedRuntimeEffects_Metal.png +impeller_Play_AiksTest_CanRenderClips_Metal.png +impeller_Play_AiksTest_CanRenderClips_Vulkan.png +impeller_Play_AiksTest_CanRenderColorFilterWithInvertColorsDrawPaint_Metal.png +impeller_Play_AiksTest_CanRenderColorFilterWithInvertColorsDrawPaint_Vulkan.png +impeller_Play_AiksTest_CanRenderColorFilterWithInvertColors_Metal.png +impeller_Play_AiksTest_CanRenderColorFilterWithInvertColors_Vulkan.png +impeller_Play_AiksTest_CanRenderColoredRect_Metal.png +impeller_Play_AiksTest_CanRenderColoredRect_Vulkan.png +impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringDisabled_Metal.png +impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringDisabled_Vulkan.png +impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringEnabled_Metal.png +impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringEnabled_Vulkan.png +impeller_Play_AiksTest_CanRenderConicalGradient_Metal.png +impeller_Play_AiksTest_CanRenderConicalGradient_Vulkan.png +impeller_Play_AiksTest_CanRenderCurvedStrokes_Metal.png +impeller_Play_AiksTest_CanRenderCurvedStrokes_Vulkan.png +impeller_Play_AiksTest_CanRenderDestructiveSaveLayer_Metal.png +impeller_Play_AiksTest_CanRenderDestructiveSaveLayer_Vulkan.png +impeller_Play_AiksTest_CanRenderDifferenceClips_Metal.png +impeller_Play_AiksTest_CanRenderDifferenceClips_Vulkan.png +impeller_Play_AiksTest_CanRenderDifferencePaths_Metal.png +impeller_Play_AiksTest_CanRenderDifferencePaths_Vulkan.png +impeller_Play_AiksTest_CanRenderDifferentShapesWithSameColorSource_Metal.png +impeller_Play_AiksTest_CanRenderDifferentShapesWithSameColorSource_Vulkan.png +impeller_Play_AiksTest_CanRenderEmojiTextFrameWithAlpha_Metal.png +impeller_Play_AiksTest_CanRenderEmojiTextFrameWithAlpha_Vulkan.png +impeller_Play_AiksTest_CanRenderEmojiTextFrame_Metal.png +impeller_Play_AiksTest_CanRenderEmojiTextFrame_Vulkan.png +impeller_Play_AiksTest_CanRenderForegroundAdvancedBlendWithMaskBlur_Metal.png +impeller_Play_AiksTest_CanRenderForegroundAdvancedBlendWithMaskBlur_Vulkan.png +impeller_Play_AiksTest_CanRenderForegroundBlendWithMaskBlur_Metal.png +impeller_Play_AiksTest_CanRenderForegroundBlendWithMaskBlur_Vulkan.png +impeller_Play_AiksTest_CanRenderGradientDecalWithBackground_Metal.png +impeller_Play_AiksTest_CanRenderGradientDecalWithBackground_Vulkan.png +impeller_Play_AiksTest_CanRenderGroupOpacity_Metal.png +impeller_Play_AiksTest_CanRenderGroupOpacity_Vulkan.png +impeller_Play_AiksTest_CanRenderImageRect_Metal.png +impeller_Play_AiksTest_CanRenderImageRect_Vulkan.png +impeller_Play_AiksTest_CanRenderImage_Metal.png +impeller_Play_AiksTest_CanRenderImage_Vulkan.png +impeller_Play_AiksTest_CanRenderInvertedImageWithColorFilter_Metal.png +impeller_Play_AiksTest_CanRenderInvertedImageWithColorFilter_Vulkan.png +impeller_Play_AiksTest_CanRenderItalicizedText_Metal.png +impeller_Play_AiksTest_CanRenderItalicizedText_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientClamp_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientClamp_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientDecalWithColorFilter_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientDecalWithColorFilter_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientDecal_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientDecal_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsClamp_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsClamp_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsDecal_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsDecal_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsMirror_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsMirror_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsRepeat_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsRepeat_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientMaskBlur_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientMaskBlur_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientMirror_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientMirror_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientRepeat_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientRepeat_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientWayManyColorsClamp_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientWayManyColorsClamp_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringDisabled_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringDisabled_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringEnabled_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringEnabled_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientWithOverlappingStopsClamp_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientWithOverlappingStopsClamp_Vulkan.png +impeller_Play_AiksTest_CanRenderMaskBlurHugeSigma_Metal.png +impeller_Play_AiksTest_CanRenderMaskBlurHugeSigma_Vulkan.png +impeller_Play_AiksTest_CanRenderNestedClips_Metal.png +impeller_Play_AiksTest_CanRenderNestedClips_Vulkan.png +impeller_Play_AiksTest_CanRenderOffscreenCheckerboard_Metal.png +impeller_Play_AiksTest_CanRenderOffscreenCheckerboard_Vulkan.png +impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringDisabled_Metal.png +impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringDisabled_Vulkan.png +impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringEnabled_Metal.png +impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringEnabled_Vulkan.png +impeller_Play_AiksTest_CanRenderRoundedRectWithNonUniformRadii_Metal.png +impeller_Play_AiksTest_CanRenderRoundedRectWithNonUniformRadii_Vulkan.png +impeller_Play_AiksTest_CanRenderStrokes_Metal.png +impeller_Play_AiksTest_CanRenderStrokes_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientClamp_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientClamp_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientDecal_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientDecal_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsClamp_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsClamp_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsDecal_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsDecal_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsMirror_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsMirror_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsRepeat_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsRepeat_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientMirror_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientMirror_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientRepeat_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientRepeat_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringDisabled_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringDisabled_Vulkan.png +impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringEnabled_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringEnabled_Vulkan.png +impeller_Play_AiksTest_CanRenderTextFrameSTB_Metal.png +impeller_Play_AiksTest_CanRenderTextFrameSTB_Vulkan.png +impeller_Play_AiksTest_CanRenderTextFrame_Metal.png +impeller_Play_AiksTest_CanRenderTextFrame_Vulkan.png +impeller_Play_AiksTest_CanRenderTextInSaveLayer_Metal.png +impeller_Play_AiksTest_CanRenderTextInSaveLayer_Vulkan.png +impeller_Play_AiksTest_CanRenderTextOutsideBoundaries_Metal.png +impeller_Play_AiksTest_CanRenderTextOutsideBoundaries_Vulkan.png +impeller_Play_AiksTest_CanRenderTiledTextureClampWithTranslate_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureClampWithTranslate_Vulkan.png +impeller_Play_AiksTest_CanRenderTiledTextureClamp_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureClamp_Vulkan.png +impeller_Play_AiksTest_CanRenderTiledTextureDecal_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureDecal_Vulkan.png +impeller_Play_AiksTest_CanRenderTiledTextureMirror_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureMirror_Vulkan.png +impeller_Play_AiksTest_CanRenderTiledTextureRepeat_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureRepeat_Vulkan.png +impeller_Play_AiksTest_CanRenderTinyOverlappingSubpasses_Metal.png +impeller_Play_AiksTest_CanRenderTinyOverlappingSubpasses_Vulkan.png +impeller_Play_AiksTest_CanRenderWithContiguousClipRestores_Metal.png +impeller_Play_AiksTest_CanRenderWithContiguousClipRestores_Vulkan.png +impeller_Play_AiksTest_CanSaveLayerStandalone_Metal.png +impeller_Play_AiksTest_CanSaveLayerStandalone_Vulkan.png +impeller_Play_AiksTest_ClearBlendWithBlur_Metal.png +impeller_Play_AiksTest_ClearBlendWithBlur_Vulkan.png +impeller_Play_AiksTest_ClearColorOptimizationWhenSubpassIsBiggerThanParentPass_Metal.png +impeller_Play_AiksTest_ClearColorOptimizationWhenSubpassIsBiggerThanParentPass_Vulkan.png +impeller_Play_AiksTest_ClippedBlurFilterRendersCorrectly_Metal.png +impeller_Play_AiksTest_ClippedBlurFilterRendersCorrectly_Vulkan.png +impeller_Play_AiksTest_ClipsUseCurrentTransform_Metal.png +impeller_Play_AiksTest_ClipsUseCurrentTransform_Vulkan.png +impeller_Play_AiksTest_CollapsedDrawPaintInSubpassBackdropFilter_Metal.png +impeller_Play_AiksTest_CollapsedDrawPaintInSubpassBackdropFilter_Vulkan.png +impeller_Play_AiksTest_CollapsedDrawPaintInSubpass_Metal.png +impeller_Play_AiksTest_CollapsedDrawPaintInSubpass_Vulkan.png +impeller_Play_AiksTest_ColorMatrixFilterSubpassCollapseOptimization_Metal.png +impeller_Play_AiksTest_ColorMatrixFilterSubpassCollapseOptimization_Vulkan.png +impeller_Play_AiksTest_CoordinateConversionsAreCorrect_Metal.png +impeller_Play_AiksTest_CoordinateConversionsAreCorrect_Vulkan.png +impeller_Play_AiksTest_DrawAdvancedBlendPartlyOffscreen_Metal.png +impeller_Play_AiksTest_DrawAdvancedBlendPartlyOffscreen_Vulkan.png +impeller_Play_AiksTest_DrawAtlasAdvancedAndTransform_Metal.png +impeller_Play_AiksTest_DrawAtlasAdvancedAndTransform_Vulkan.png +impeller_Play_AiksTest_DrawAtlasWithColorAdvancedAndTransform_Metal.png +impeller_Play_AiksTest_DrawAtlasWithColorAdvancedAndTransform_Vulkan.png +impeller_Play_AiksTest_DrawPaintTransformsBounds_Metal.png +impeller_Play_AiksTest_DrawPaintWithAdvancedBlendOverFilter_Metal.png +impeller_Play_AiksTest_DrawPaintWithAdvancedBlendOverFilter_Vulkan.png +impeller_Play_AiksTest_DrawPictureClipped_Metal.png +impeller_Play_AiksTest_DrawPictureClipped_Vulkan.png +impeller_Play_AiksTest_DrawPictureWithText_Metal.png +impeller_Play_AiksTest_DrawPictureWithText_Vulkan.png +impeller_Play_AiksTest_DrawRectStrokesRenderCorrectly_Metal.png +impeller_Play_AiksTest_DrawRectStrokesRenderCorrectly_Vulkan.png +impeller_Play_AiksTest_DrawScaledTextWithPerspectiveNoSaveLayer_Metal.png +impeller_Play_AiksTest_DrawScaledTextWithPerspectiveNoSaveLayer_Vulkan.png +impeller_Play_AiksTest_EmptySaveLayerIgnoresPaint_Metal.png +impeller_Play_AiksTest_EmptySaveLayerIgnoresPaint_Vulkan.png +impeller_Play_AiksTest_EmptySaveLayerIgnoresWithMultiply_Metal.png +impeller_Play_AiksTest_EmptySaveLayerIgnoresWithMultiply_Vulkan.png +impeller_Play_AiksTest_EmptySaveLayerRendersWithClear_Metal.png +impeller_Play_AiksTest_EmptySaveLayerRendersWithClear_Vulkan.png +impeller_Play_AiksTest_ForegroundBlendSubpassCollapseOptimization_Metal.png +impeller_Play_AiksTest_ForegroundBlendSubpassCollapseOptimization_Vulkan.png +impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_Metal.png +impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_Vulkan.png +impeller_Play_AiksTest_MatrixBackdropFilter_Metal.png +impeller_Play_AiksTest_MatrixBackdropFilter_Vulkan.png +impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenScaledAndTranslatedFromOffscreen_Metal.png +impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenScaledAndTranslatedFromOffscreen_Vulkan.png +impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenTranslatedFromOffscreen_Metal.png +impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenTranslatedFromOffscreen_Vulkan.png +impeller_Play_AiksTest_MatrixImageFilterMagnify_Metal.png +impeller_Play_AiksTest_MatrixImageFilterMagnify_Vulkan.png +impeller_Play_AiksTest_MatrixSaveLayerFilter_Metal.png +impeller_Play_AiksTest_MatrixSaveLayerFilter_Vulkan.png +impeller_Play_AiksTest_PaintBlendModeIsRespected_Metal.png +impeller_Play_AiksTest_PaintBlendModeIsRespected_Vulkan.png +impeller_Play_AiksTest_PipelineBlendSingleParameter_Metal.png +impeller_Play_AiksTest_PipelineBlendSingleParameter_Vulkan.png +impeller_Play_AiksTest_ReleasesTextureOnTeardown_Metal.png +impeller_Play_AiksTest_ReleasesTextureOnTeardown_Vulkan.png +impeller_Play_AiksTest_RotateColorFilteredPath_Metal.png +impeller_Play_AiksTest_RotateColorFilteredPath_Vulkan.png +impeller_Play_AiksTest_SaveLayerDrawsBehindSubsequentEntities_Metal.png +impeller_Play_AiksTest_SaveLayerDrawsBehindSubsequentEntities_Vulkan.png +impeller_Play_AiksTest_SaveLayerFiltersScaleWithTransform_Metal.png +impeller_Play_AiksTest_SaveLayerFiltersScaleWithTransform_Vulkan.png +impeller_Play_AiksTest_SiblingSaveLayerBoundsAreRespected_Metal.png +impeller_Play_AiksTest_SiblingSaveLayerBoundsAreRespected_Vulkan.png +impeller_Play_AiksTest_SrgbToLinearFilterSubpassCollapseOptimization_Metal.png +impeller_Play_AiksTest_SrgbToLinearFilterSubpassCollapseOptimization_Vulkan.png +impeller_Play_AiksTest_TextForegroundShaderWithTransform_Metal.png +impeller_Play_AiksTest_TextForegroundShaderWithTransform_Vulkan.png +impeller_Play_AiksTest_TranslucentSaveLayerDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_TranslucentSaveLayerImageDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerImageDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_TranslucentSaveLayerWithAdvancedBlendModeDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithAdvancedBlendModeDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_TranslucentSaveLayerWithBlendColorFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithBlendColorFilterDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_TranslucentSaveLayerWithBlendImageFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithBlendImageFilterDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorAndImageFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorAndImageFilterDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorFilterAndImageFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorFilterAndImageFilterDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixColorFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixColorFilterDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixImageFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixImageFilterDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_VerticesGeometryUVPositionData_Metal.png +impeller_Play_AiksTest_VerticesGeometryUVPositionData_Vulkan.png \ No newline at end of file diff --git a/testing/run_tests.py b/testing/run_tests.py index 5dbbae7d246a2..8ff670005fc53 100755 --- a/testing/run_tests.py +++ b/testing/run_tests.py @@ -12,6 +12,7 @@ import argparse import errno +from functools import reduce import glob import logging import logging.handlers @@ -1011,6 +1012,20 @@ def __enter__(self): def __exit__(self, exception_type, exception_value, exception_traceback): os.chdir(self.old_cwd) +def generate_dir_listing(dir_path: str) -> str: + listing = os.listdir(dir_path) + listing.sort() + return reduce(lambda a, b: a + "\n" + b, listing) + +def str_replace_range(instr: str, start: int, end: int, replacement: str) -> str: + return instr[:start] + replacement + instr[end:] + +def redirect_patch(patch: str) -> str: + "Makes a diff point its output file to its input file." + input_path = re.search(r'^--- a(.*)', patch, re.MULTILINE) + output_path = re.search(r'^\+\+\+ b(.*)', patch, re.MULTILINE) + return str_replace_range(patch, output_path.span(1)[0], + output_path.span(1)[1], input_path.group(1)) def run_impeller_golden_tests(build_dir: str): """ @@ -1026,6 +1041,20 @@ def run_impeller_golden_tests(build_dir: str): ).joinpath('golden_tests_harvester') with tempfile.TemporaryDirectory(prefix='impeller_golden') as temp_dir: run_cmd([tests_path, '--working_dir=%s' % temp_dir], cwd=build_dir) + with tempfile.NamedTemporaryFile(mode="w", + prefix="impeller_golden_tests_output") as dir_listing_file: + dir_listing = generate_dir_listing(temp_dir) + dir_listing_file.write(dir_listing) + golden_path = os.path.join("testing", "impeller_golden_tests_output.txt") + diff_result = subprocess.run(f'git diff -p {golden_path} {dir_listing_file.name}', + check=False, shell=True, stdout=subprocess.PIPE, + cwd=os.path.join(BUILDROOT_DIR, "flutter")) + if diff_result.returncode != 0: + print_divider('<') + print(f'Unexpected diff in {golden_path}') + print(redirect_patch(diff_result.stdout.decode())) + raise RuntimeError('impeller_golden_tests diff failure') + num_generated_files = len(os.listdir(temp_dir)) if num_generated_files != _NUM_EXPECTED_GENERATED_IMPELLER_GOLDEN_FILES: raise Exception( From 183b3975423be70a7a1c9d7a71a0c1a870b0f585 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 13 Feb 2024 14:25:07 -0800 Subject: [PATCH 3/7] updated golden --- testing/impeller_golden_tests_output.txt | 301 ++++++++++++++++++++++- 1 file changed, 289 insertions(+), 12 deletions(-) diff --git a/testing/impeller_golden_tests_output.txt b/testing/impeller_golden_tests_output.txt index 2aeb07be81f7a..aa6c8488c8049 100644 --- a/testing/impeller_golden_tests_output.txt +++ b/testing/impeller_golden_tests_output.txt @@ -1,322 +1,599 @@ digest.json impeller_GoldenTests_ConicalGradient.png impeller_Play_AiksTest_BlendModeClear_Metal.png +impeller_Play_AiksTest_BlendModeClear_OpenGLES.png impeller_Play_AiksTest_BlendModeClear_Vulkan.png impeller_Play_AiksTest_BlendModeColorBurn_Metal.png +impeller_Play_AiksTest_BlendModeColorBurn_OpenGLES.png impeller_Play_AiksTest_BlendModeColorBurn_Vulkan.png impeller_Play_AiksTest_BlendModeColorDodge_Metal.png +impeller_Play_AiksTest_BlendModeColorDodge_OpenGLES.png impeller_Play_AiksTest_BlendModeColorDodge_Vulkan.png impeller_Play_AiksTest_BlendModeColor_Metal.png +impeller_Play_AiksTest_BlendModeColor_OpenGLES.png impeller_Play_AiksTest_BlendModeColor_Vulkan.png impeller_Play_AiksTest_BlendModeDarken_Metal.png +impeller_Play_AiksTest_BlendModeDarken_OpenGLES.png impeller_Play_AiksTest_BlendModeDarken_Vulkan.png impeller_Play_AiksTest_BlendModeDestinationATop_Metal.png +impeller_Play_AiksTest_BlendModeDestinationATop_OpenGLES.png impeller_Play_AiksTest_BlendModeDestinationATop_Vulkan.png impeller_Play_AiksTest_BlendModeDestinationIn_Metal.png +impeller_Play_AiksTest_BlendModeDestinationIn_OpenGLES.png impeller_Play_AiksTest_BlendModeDestinationIn_Vulkan.png impeller_Play_AiksTest_BlendModeDestinationOut_Metal.png +impeller_Play_AiksTest_BlendModeDestinationOut_OpenGLES.png impeller_Play_AiksTest_BlendModeDestinationOut_Vulkan.png impeller_Play_AiksTest_BlendModeDestinationOver_Metal.png +impeller_Play_AiksTest_BlendModeDestinationOver_OpenGLES.png impeller_Play_AiksTest_BlendModeDestinationOver_Vulkan.png impeller_Play_AiksTest_BlendModeDestination_Metal.png +impeller_Play_AiksTest_BlendModeDestination_OpenGLES.png impeller_Play_AiksTest_BlendModeDestination_Vulkan.png impeller_Play_AiksTest_BlendModeDifference_Metal.png +impeller_Play_AiksTest_BlendModeDifference_OpenGLES.png impeller_Play_AiksTest_BlendModeDifference_Vulkan.png impeller_Play_AiksTest_BlendModeExclusion_Metal.png +impeller_Play_AiksTest_BlendModeExclusion_OpenGLES.png impeller_Play_AiksTest_BlendModeExclusion_Vulkan.png impeller_Play_AiksTest_BlendModeHardLight_Metal.png +impeller_Play_AiksTest_BlendModeHardLight_OpenGLES.png impeller_Play_AiksTest_BlendModeHardLight_Vulkan.png impeller_Play_AiksTest_BlendModeHue_Metal.png +impeller_Play_AiksTest_BlendModeHue_OpenGLES.png impeller_Play_AiksTest_BlendModeHue_Vulkan.png impeller_Play_AiksTest_BlendModeLighten_Metal.png +impeller_Play_AiksTest_BlendModeLighten_OpenGLES.png impeller_Play_AiksTest_BlendModeLighten_Vulkan.png impeller_Play_AiksTest_BlendModeLuminosity_Metal.png +impeller_Play_AiksTest_BlendModeLuminosity_OpenGLES.png impeller_Play_AiksTest_BlendModeLuminosity_Vulkan.png impeller_Play_AiksTest_BlendModeModulate_Metal.png +impeller_Play_AiksTest_BlendModeModulate_OpenGLES.png impeller_Play_AiksTest_BlendModeModulate_Vulkan.png impeller_Play_AiksTest_BlendModeMultiply_Metal.png +impeller_Play_AiksTest_BlendModeMultiply_OpenGLES.png impeller_Play_AiksTest_BlendModeMultiply_Vulkan.png impeller_Play_AiksTest_BlendModeOverlay_Metal.png +impeller_Play_AiksTest_BlendModeOverlay_OpenGLES.png impeller_Play_AiksTest_BlendModeOverlay_Vulkan.png impeller_Play_AiksTest_BlendModePlus_Metal.png +impeller_Play_AiksTest_BlendModePlus_OpenGLES.png impeller_Play_AiksTest_BlendModePlus_Vulkan.png impeller_Play_AiksTest_BlendModeSaturation_Metal.png +impeller_Play_AiksTest_BlendModeSaturation_OpenGLES.png impeller_Play_AiksTest_BlendModeSaturation_Vulkan.png impeller_Play_AiksTest_BlendModeScreen_Metal.png +impeller_Play_AiksTest_BlendModeScreen_OpenGLES.png impeller_Play_AiksTest_BlendModeScreen_Vulkan.png impeller_Play_AiksTest_BlendModeShouldCoverWholeScreen_Metal.png +impeller_Play_AiksTest_BlendModeShouldCoverWholeScreen_OpenGLES.png impeller_Play_AiksTest_BlendModeShouldCoverWholeScreen_Vulkan.png impeller_Play_AiksTest_BlendModeSoftLight_Metal.png +impeller_Play_AiksTest_BlendModeSoftLight_OpenGLES.png impeller_Play_AiksTest_BlendModeSoftLight_Vulkan.png impeller_Play_AiksTest_BlendModeSourceATop_Metal.png +impeller_Play_AiksTest_BlendModeSourceATop_OpenGLES.png impeller_Play_AiksTest_BlendModeSourceATop_Vulkan.png impeller_Play_AiksTest_BlendModeSourceIn_Metal.png +impeller_Play_AiksTest_BlendModeSourceIn_OpenGLES.png impeller_Play_AiksTest_BlendModeSourceIn_Vulkan.png impeller_Play_AiksTest_BlendModeSourceOut_Metal.png +impeller_Play_AiksTest_BlendModeSourceOut_OpenGLES.png impeller_Play_AiksTest_BlendModeSourceOut_Vulkan.png impeller_Play_AiksTest_BlendModeSourceOver_Metal.png +impeller_Play_AiksTest_BlendModeSourceOver_OpenGLES.png impeller_Play_AiksTest_BlendModeSourceOver_Vulkan.png impeller_Play_AiksTest_BlendModeSource_Metal.png +impeller_Play_AiksTest_BlendModeSource_OpenGLES.png impeller_Play_AiksTest_BlendModeSource_Vulkan.png impeller_Play_AiksTest_BlendModeXor_Metal.png +impeller_Play_AiksTest_BlendModeXor_OpenGLES.png impeller_Play_AiksTest_BlendModeXor_Vulkan.png -impeller_Play_AiksTest_CanCanvasDrawPictureWithAdvancedBlend_Metal.png -impeller_Play_AiksTest_CanCanvasDrawPictureWithAdvancedBlend_Vulkan.png -impeller_Play_AiksTest_CanCanvasDrawPictureWithBackdropFilter_Metal.png -impeller_Play_AiksTest_CanCanvasDrawPictureWithBackdropFilter_Vulkan.png -impeller_Play_AiksTest_CanCanvasDrawPicture_Metal.png -impeller_Play_AiksTest_CanCanvasDrawPicture_Vulkan.png +impeller_Play_AiksTest_BlurHasNoEdge_Metal.png +impeller_Play_AiksTest_BlurHasNoEdge_OpenGLES.png +impeller_Play_AiksTest_BlurHasNoEdge_Vulkan.png +impeller_Play_AiksTest_BlurredRectangleWithShader_Metal.png +impeller_Play_AiksTest_BlurredRectangleWithShader_OpenGLES.png +impeller_Play_AiksTest_BlurredRectangleWithShader_Vulkan.png impeller_Play_AiksTest_CanDrawAnOpenPathThatIsntARect_Metal.png +impeller_Play_AiksTest_CanDrawAnOpenPathThatIsntARect_OpenGLES.png impeller_Play_AiksTest_CanDrawAnOpenPathThatIsntARect_Vulkan.png impeller_Play_AiksTest_CanDrawAnOpenPath_Metal.png +impeller_Play_AiksTest_CanDrawAnOpenPath_OpenGLES.png impeller_Play_AiksTest_CanDrawAnOpenPath_Vulkan.png +impeller_Play_AiksTest_CanDrawMultiContourConvexPath_Metal.png +impeller_Play_AiksTest_CanDrawMultiContourConvexPath_OpenGLES.png +impeller_Play_AiksTest_CanDrawMultiContourConvexPath_Vulkan.png +impeller_Play_AiksTest_CanDrawPaintMultipleTimesInteractive_Metal.png +impeller_Play_AiksTest_CanDrawPaintMultipleTimesInteractive_OpenGLES.png +impeller_Play_AiksTest_CanDrawPaintMultipleTimesInteractive_Vulkan.png impeller_Play_AiksTest_CanDrawPaintMultipleTimes_Metal.png +impeller_Play_AiksTest_CanDrawPaintMultipleTimes_OpenGLES.png impeller_Play_AiksTest_CanDrawPaintMultipleTimes_Vulkan.png impeller_Play_AiksTest_CanDrawPaintWithAdvancedBlend_Metal.png +impeller_Play_AiksTest_CanDrawPaintWithAdvancedBlend_OpenGLES.png impeller_Play_AiksTest_CanDrawPaintWithAdvancedBlend_Vulkan.png impeller_Play_AiksTest_CanDrawPaint_Metal.png +impeller_Play_AiksTest_CanDrawPaint_OpenGLES.png impeller_Play_AiksTest_CanDrawPaint_Vulkan.png impeller_Play_AiksTest_CanDrawPointsWithTextureMap_Metal.png +impeller_Play_AiksTest_CanDrawPointsWithTextureMap_OpenGLES.png impeller_Play_AiksTest_CanDrawPointsWithTextureMap_Vulkan.png impeller_Play_AiksTest_CanDrawPoints_Metal.png +impeller_Play_AiksTest_CanDrawPoints_OpenGLES.png impeller_Play_AiksTest_CanDrawPoints_Vulkan.png +impeller_Play_AiksTest_CanEmptyPictureConvertToImage_Metal.png +impeller_Play_AiksTest_CanEmptyPictureConvertToImage_OpenGLES.png +impeller_Play_AiksTest_CanEmptyPictureConvertToImage_Vulkan.png impeller_Play_AiksTest_CanPerformFullScreenMSAA_Metal.png +impeller_Play_AiksTest_CanPerformFullScreenMSAA_OpenGLES.png impeller_Play_AiksTest_CanPerformFullScreenMSAA_Vulkan.png impeller_Play_AiksTest_CanPerformSaveLayerWithBoundsAndLargerIntermediateIsNotAllocated_Metal.png +impeller_Play_AiksTest_CanPerformSaveLayerWithBoundsAndLargerIntermediateIsNotAllocated_OpenGLES.png impeller_Play_AiksTest_CanPerformSaveLayerWithBoundsAndLargerIntermediateIsNotAllocated_Vulkan.png impeller_Play_AiksTest_CanPerformSaveLayerWithBounds_Metal.png +impeller_Play_AiksTest_CanPerformSaveLayerWithBounds_OpenGLES.png impeller_Play_AiksTest_CanPerformSaveLayerWithBounds_Vulkan.png impeller_Play_AiksTest_CanPerformSkew_Metal.png +impeller_Play_AiksTest_CanPerformSkew_OpenGLES.png impeller_Play_AiksTest_CanPerformSkew_Vulkan.png impeller_Play_AiksTest_CanPictureConvertToImage_Metal.png +impeller_Play_AiksTest_CanPictureConvertToImage_OpenGLES.png impeller_Play_AiksTest_CanPictureConvertToImage_Vulkan.png +impeller_Play_AiksTest_CanRenderAdvancedBlendColorFilterWithSaveLayer_Metal.png +impeller_Play_AiksTest_CanRenderAdvancedBlendColorFilterWithSaveLayer_OpenGLES.png +impeller_Play_AiksTest_CanRenderAdvancedBlendColorFilterWithSaveLayer_Vulkan.png impeller_Play_AiksTest_CanRenderBackdropBlurHugeSigma_Metal.png +impeller_Play_AiksTest_CanRenderBackdropBlurHugeSigma_OpenGLES.png impeller_Play_AiksTest_CanRenderBackdropBlurHugeSigma_Vulkan.png +impeller_Play_AiksTest_CanRenderBackdropBlurInteractive_Metal.png +impeller_Play_AiksTest_CanRenderBackdropBlurInteractive_OpenGLES.png +impeller_Play_AiksTest_CanRenderBackdropBlurInteractive_Vulkan.png impeller_Play_AiksTest_CanRenderBackdropBlur_Metal.png +impeller_Play_AiksTest_CanRenderBackdropBlur_OpenGLES.png impeller_Play_AiksTest_CanRenderBackdropBlur_Vulkan.png impeller_Play_AiksTest_CanRenderClippedBlur_Metal.png +impeller_Play_AiksTest_CanRenderClippedBlur_OpenGLES.png impeller_Play_AiksTest_CanRenderClippedBlur_Vulkan.png impeller_Play_AiksTest_CanRenderClippedLayers_Metal.png +impeller_Play_AiksTest_CanRenderClippedLayers_OpenGLES.png impeller_Play_AiksTest_CanRenderClippedLayers_Vulkan.png impeller_Play_AiksTest_CanRenderClippedRuntimeEffects_Metal.png +impeller_Play_AiksTest_CanRenderClippedRuntimeEffects_OpenGLES.png impeller_Play_AiksTest_CanRenderClips_Metal.png +impeller_Play_AiksTest_CanRenderClips_OpenGLES.png impeller_Play_AiksTest_CanRenderClips_Vulkan.png impeller_Play_AiksTest_CanRenderColorFilterWithInvertColorsDrawPaint_Metal.png +impeller_Play_AiksTest_CanRenderColorFilterWithInvertColorsDrawPaint_OpenGLES.png impeller_Play_AiksTest_CanRenderColorFilterWithInvertColorsDrawPaint_Vulkan.png impeller_Play_AiksTest_CanRenderColorFilterWithInvertColors_Metal.png +impeller_Play_AiksTest_CanRenderColorFilterWithInvertColors_OpenGLES.png impeller_Play_AiksTest_CanRenderColorFilterWithInvertColors_Vulkan.png impeller_Play_AiksTest_CanRenderColoredRect_Metal.png +impeller_Play_AiksTest_CanRenderColoredRect_OpenGLES.png impeller_Play_AiksTest_CanRenderColoredRect_Vulkan.png impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringDisabled_Metal.png +impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringDisabled_OpenGLES.png impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringDisabled_Vulkan.png impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringEnabled_Metal.png +impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringEnabled_OpenGLES.png impeller_Play_AiksTest_CanRenderConicalGradientWithDitheringEnabled_Vulkan.png impeller_Play_AiksTest_CanRenderConicalGradient_Metal.png +impeller_Play_AiksTest_CanRenderConicalGradient_OpenGLES.png impeller_Play_AiksTest_CanRenderConicalGradient_Vulkan.png impeller_Play_AiksTest_CanRenderCurvedStrokes_Metal.png +impeller_Play_AiksTest_CanRenderCurvedStrokes_OpenGLES.png impeller_Play_AiksTest_CanRenderCurvedStrokes_Vulkan.png impeller_Play_AiksTest_CanRenderDestructiveSaveLayer_Metal.png +impeller_Play_AiksTest_CanRenderDestructiveSaveLayer_OpenGLES.png impeller_Play_AiksTest_CanRenderDestructiveSaveLayer_Vulkan.png impeller_Play_AiksTest_CanRenderDifferenceClips_Metal.png +impeller_Play_AiksTest_CanRenderDifferenceClips_OpenGLES.png impeller_Play_AiksTest_CanRenderDifferenceClips_Vulkan.png impeller_Play_AiksTest_CanRenderDifferencePaths_Metal.png +impeller_Play_AiksTest_CanRenderDifferencePaths_OpenGLES.png impeller_Play_AiksTest_CanRenderDifferencePaths_Vulkan.png impeller_Play_AiksTest_CanRenderDifferentShapesWithSameColorSource_Metal.png +impeller_Play_AiksTest_CanRenderDifferentShapesWithSameColorSource_OpenGLES.png impeller_Play_AiksTest_CanRenderDifferentShapesWithSameColorSource_Vulkan.png impeller_Play_AiksTest_CanRenderEmojiTextFrameWithAlpha_Metal.png +impeller_Play_AiksTest_CanRenderEmojiTextFrameWithAlpha_OpenGLES.png impeller_Play_AiksTest_CanRenderEmojiTextFrameWithAlpha_Vulkan.png +impeller_Play_AiksTest_CanRenderEmojiTextFrameWithBlur_Metal.png +impeller_Play_AiksTest_CanRenderEmojiTextFrameWithBlur_OpenGLES.png +impeller_Play_AiksTest_CanRenderEmojiTextFrameWithBlur_Vulkan.png impeller_Play_AiksTest_CanRenderEmojiTextFrame_Metal.png +impeller_Play_AiksTest_CanRenderEmojiTextFrame_OpenGLES.png impeller_Play_AiksTest_CanRenderEmojiTextFrame_Vulkan.png impeller_Play_AiksTest_CanRenderForegroundAdvancedBlendWithMaskBlur_Metal.png +impeller_Play_AiksTest_CanRenderForegroundAdvancedBlendWithMaskBlur_OpenGLES.png impeller_Play_AiksTest_CanRenderForegroundAdvancedBlendWithMaskBlur_Vulkan.png impeller_Play_AiksTest_CanRenderForegroundBlendWithMaskBlur_Metal.png +impeller_Play_AiksTest_CanRenderForegroundBlendWithMaskBlur_OpenGLES.png impeller_Play_AiksTest_CanRenderForegroundBlendWithMaskBlur_Vulkan.png impeller_Play_AiksTest_CanRenderGradientDecalWithBackground_Metal.png +impeller_Play_AiksTest_CanRenderGradientDecalWithBackground_OpenGLES.png impeller_Play_AiksTest_CanRenderGradientDecalWithBackground_Vulkan.png impeller_Play_AiksTest_CanRenderGroupOpacity_Metal.png +impeller_Play_AiksTest_CanRenderGroupOpacity_OpenGLES.png impeller_Play_AiksTest_CanRenderGroupOpacity_Vulkan.png impeller_Play_AiksTest_CanRenderImageRect_Metal.png +impeller_Play_AiksTest_CanRenderImageRect_OpenGLES.png impeller_Play_AiksTest_CanRenderImageRect_Vulkan.png impeller_Play_AiksTest_CanRenderImage_Metal.png +impeller_Play_AiksTest_CanRenderImage_OpenGLES.png impeller_Play_AiksTest_CanRenderImage_Vulkan.png impeller_Play_AiksTest_CanRenderInvertedImageWithColorFilter_Metal.png +impeller_Play_AiksTest_CanRenderInvertedImageWithColorFilter_OpenGLES.png impeller_Play_AiksTest_CanRenderInvertedImageWithColorFilter_Vulkan.png impeller_Play_AiksTest_CanRenderItalicizedText_Metal.png +impeller_Play_AiksTest_CanRenderItalicizedText_OpenGLES.png impeller_Play_AiksTest_CanRenderItalicizedText_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientClamp_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientClamp_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientClamp_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientDecalWithColorFilter_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientDecalWithColorFilter_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientDecalWithColorFilter_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientDecal_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientDecal_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientDecal_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientManyColorsClamp_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsClamp_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientManyColorsClamp_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientManyColorsDecal_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsDecal_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientManyColorsDecal_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientManyColorsMirror_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsMirror_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientManyColorsMirror_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientManyColorsRepeat_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsRepeat_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientManyColorsRepeat_Vulkan.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsUnevenStops_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsUnevenStops_OpenGLES.png +impeller_Play_AiksTest_CanRenderLinearGradientManyColorsUnevenStops_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientMaskBlur_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientMaskBlur_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientMaskBlur_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientMirror_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientMirror_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientMirror_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientRepeat_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientRepeat_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientRepeat_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientWayManyColorsClamp_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientWayManyColorsClamp_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientWayManyColorsClamp_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringDisabled_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringDisabled_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringDisabled_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringEnabled_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringEnabled_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientWithDitheringEnabled_Vulkan.png impeller_Play_AiksTest_CanRenderLinearGradientWithOverlappingStopsClamp_Metal.png +impeller_Play_AiksTest_CanRenderLinearGradientWithOverlappingStopsClamp_OpenGLES.png impeller_Play_AiksTest_CanRenderLinearGradientWithOverlappingStopsClamp_Vulkan.png impeller_Play_AiksTest_CanRenderMaskBlurHugeSigma_Metal.png +impeller_Play_AiksTest_CanRenderMaskBlurHugeSigma_OpenGLES.png impeller_Play_AiksTest_CanRenderMaskBlurHugeSigma_Vulkan.png impeller_Play_AiksTest_CanRenderNestedClips_Metal.png +impeller_Play_AiksTest_CanRenderNestedClips_OpenGLES.png impeller_Play_AiksTest_CanRenderNestedClips_Vulkan.png impeller_Play_AiksTest_CanRenderOffscreenCheckerboard_Metal.png +impeller_Play_AiksTest_CanRenderOffscreenCheckerboard_OpenGLES.png impeller_Play_AiksTest_CanRenderOffscreenCheckerboard_Vulkan.png +impeller_Play_AiksTest_CanRenderRadialGradientManyColors_Metal.png +impeller_Play_AiksTest_CanRenderRadialGradientManyColors_OpenGLES.png +impeller_Play_AiksTest_CanRenderRadialGradientManyColors_Vulkan.png impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringDisabled_Metal.png +impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringDisabled_OpenGLES.png impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringDisabled_Vulkan.png impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringEnabled_Metal.png +impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringEnabled_OpenGLES.png impeller_Play_AiksTest_CanRenderRadialGradientWithDitheringEnabled_Vulkan.png +impeller_Play_AiksTest_CanRenderRadialGradient_Metal.png +impeller_Play_AiksTest_CanRenderRadialGradient_OpenGLES.png +impeller_Play_AiksTest_CanRenderRadialGradient_Vulkan.png impeller_Play_AiksTest_CanRenderRoundedRectWithNonUniformRadii_Metal.png +impeller_Play_AiksTest_CanRenderRoundedRectWithNonUniformRadii_OpenGLES.png impeller_Play_AiksTest_CanRenderRoundedRectWithNonUniformRadii_Vulkan.png +impeller_Play_AiksTest_CanRenderSimpleClips_Metal.png +impeller_Play_AiksTest_CanRenderSimpleClips_OpenGLES.png +impeller_Play_AiksTest_CanRenderSimpleClips_Vulkan.png +impeller_Play_AiksTest_CanRenderStrokePathThatEndsAtSharpTurn_Metal.png +impeller_Play_AiksTest_CanRenderStrokePathThatEndsAtSharpTurn_OpenGLES.png +impeller_Play_AiksTest_CanRenderStrokePathThatEndsAtSharpTurn_Vulkan.png +impeller_Play_AiksTest_CanRenderStrokePathWithCubicLine_Metal.png +impeller_Play_AiksTest_CanRenderStrokePathWithCubicLine_OpenGLES.png +impeller_Play_AiksTest_CanRenderStrokePathWithCubicLine_Vulkan.png impeller_Play_AiksTest_CanRenderStrokes_Metal.png +impeller_Play_AiksTest_CanRenderStrokes_OpenGLES.png impeller_Play_AiksTest_CanRenderStrokes_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientClamp_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientClamp_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientClamp_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientDecal_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientDecal_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientDecal_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientManyColorsClamp_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsClamp_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientManyColorsClamp_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientManyColorsDecal_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsDecal_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientManyColorsDecal_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientManyColorsMirror_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsMirror_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientManyColorsMirror_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientManyColorsRepeat_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientManyColorsRepeat_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientManyColorsRepeat_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientMirror_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientMirror_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientMirror_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientRepeat_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientRepeat_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientRepeat_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringDisabled_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringDisabled_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringDisabled_Vulkan.png impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringEnabled_Metal.png +impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringEnabled_OpenGLES.png impeller_Play_AiksTest_CanRenderSweepGradientWithDitheringEnabled_Vulkan.png impeller_Play_AiksTest_CanRenderTextFrameSTB_Metal.png +impeller_Play_AiksTest_CanRenderTextFrameSTB_OpenGLES.png impeller_Play_AiksTest_CanRenderTextFrameSTB_Vulkan.png impeller_Play_AiksTest_CanRenderTextFrame_Metal.png +impeller_Play_AiksTest_CanRenderTextFrame_OpenGLES.png impeller_Play_AiksTest_CanRenderTextFrame_Vulkan.png impeller_Play_AiksTest_CanRenderTextInSaveLayer_Metal.png +impeller_Play_AiksTest_CanRenderTextInSaveLayer_OpenGLES.png impeller_Play_AiksTest_CanRenderTextInSaveLayer_Vulkan.png impeller_Play_AiksTest_CanRenderTextOutsideBoundaries_Metal.png +impeller_Play_AiksTest_CanRenderTextOutsideBoundaries_OpenGLES.png impeller_Play_AiksTest_CanRenderTextOutsideBoundaries_Vulkan.png +impeller_Play_AiksTest_CanRenderThickCurvedStrokes_Metal.png +impeller_Play_AiksTest_CanRenderThickCurvedStrokes_OpenGLES.png +impeller_Play_AiksTest_CanRenderThickCurvedStrokes_Vulkan.png impeller_Play_AiksTest_CanRenderTiledTextureClampWithTranslate_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureClampWithTranslate_OpenGLES.png impeller_Play_AiksTest_CanRenderTiledTextureClampWithTranslate_Vulkan.png impeller_Play_AiksTest_CanRenderTiledTextureClamp_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureClamp_OpenGLES.png impeller_Play_AiksTest_CanRenderTiledTextureClamp_Vulkan.png impeller_Play_AiksTest_CanRenderTiledTextureDecal_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureDecal_OpenGLES.png impeller_Play_AiksTest_CanRenderTiledTextureDecal_Vulkan.png impeller_Play_AiksTest_CanRenderTiledTextureMirror_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureMirror_OpenGLES.png impeller_Play_AiksTest_CanRenderTiledTextureMirror_Vulkan.png impeller_Play_AiksTest_CanRenderTiledTextureRepeat_Metal.png +impeller_Play_AiksTest_CanRenderTiledTextureRepeat_OpenGLES.png impeller_Play_AiksTest_CanRenderTiledTextureRepeat_Vulkan.png impeller_Play_AiksTest_CanRenderTinyOverlappingSubpasses_Metal.png +impeller_Play_AiksTest_CanRenderTinyOverlappingSubpasses_OpenGLES.png impeller_Play_AiksTest_CanRenderTinyOverlappingSubpasses_Vulkan.png impeller_Play_AiksTest_CanRenderWithContiguousClipRestores_Metal.png +impeller_Play_AiksTest_CanRenderWithContiguousClipRestores_OpenGLES.png impeller_Play_AiksTest_CanRenderWithContiguousClipRestores_Vulkan.png impeller_Play_AiksTest_CanSaveLayerStandalone_Metal.png +impeller_Play_AiksTest_CanSaveLayerStandalone_OpenGLES.png impeller_Play_AiksTest_CanSaveLayerStandalone_Vulkan.png +impeller_Play_AiksTest_CaptureContext_Metal.png +impeller_Play_AiksTest_CaptureContext_OpenGLES.png +impeller_Play_AiksTest_CaptureContext_Vulkan.png impeller_Play_AiksTest_ClearBlendWithBlur_Metal.png +impeller_Play_AiksTest_ClearBlendWithBlur_OpenGLES.png impeller_Play_AiksTest_ClearBlendWithBlur_Vulkan.png impeller_Play_AiksTest_ClearColorOptimizationWhenSubpassIsBiggerThanParentPass_Metal.png +impeller_Play_AiksTest_ClearColorOptimizationWhenSubpassIsBiggerThanParentPass_OpenGLES.png impeller_Play_AiksTest_ClearColorOptimizationWhenSubpassIsBiggerThanParentPass_Vulkan.png +impeller_Play_AiksTest_ClippedBlurFilterRendersCorrectlyInteractive_Metal.png +impeller_Play_AiksTest_ClippedBlurFilterRendersCorrectlyInteractive_OpenGLES.png +impeller_Play_AiksTest_ClippedBlurFilterRendersCorrectlyInteractive_Vulkan.png impeller_Play_AiksTest_ClippedBlurFilterRendersCorrectly_Metal.png +impeller_Play_AiksTest_ClippedBlurFilterRendersCorrectly_OpenGLES.png impeller_Play_AiksTest_ClippedBlurFilterRendersCorrectly_Vulkan.png impeller_Play_AiksTest_ClipsUseCurrentTransform_Metal.png +impeller_Play_AiksTest_ClipsUseCurrentTransform_OpenGLES.png impeller_Play_AiksTest_ClipsUseCurrentTransform_Vulkan.png impeller_Play_AiksTest_CollapsedDrawPaintInSubpassBackdropFilter_Metal.png +impeller_Play_AiksTest_CollapsedDrawPaintInSubpassBackdropFilter_OpenGLES.png impeller_Play_AiksTest_CollapsedDrawPaintInSubpassBackdropFilter_Vulkan.png impeller_Play_AiksTest_CollapsedDrawPaintInSubpass_Metal.png +impeller_Play_AiksTest_CollapsedDrawPaintInSubpass_OpenGLES.png impeller_Play_AiksTest_CollapsedDrawPaintInSubpass_Vulkan.png impeller_Play_AiksTest_ColorMatrixFilterSubpassCollapseOptimization_Metal.png +impeller_Play_AiksTest_ColorMatrixFilterSubpassCollapseOptimization_OpenGLES.png impeller_Play_AiksTest_ColorMatrixFilterSubpassCollapseOptimization_Vulkan.png +impeller_Play_AiksTest_ColorWheel_Metal.png +impeller_Play_AiksTest_ColorWheel_OpenGLES.png +impeller_Play_AiksTest_ColorWheel_Vulkan.png impeller_Play_AiksTest_CoordinateConversionsAreCorrect_Metal.png +impeller_Play_AiksTest_CoordinateConversionsAreCorrect_OpenGLES.png impeller_Play_AiksTest_CoordinateConversionsAreCorrect_Vulkan.png +impeller_Play_AiksTest_CoverageOriginShouldBeAccountedForInSubpasses_Metal.png +impeller_Play_AiksTest_CoverageOriginShouldBeAccountedForInSubpasses_OpenGLES.png +impeller_Play_AiksTest_CoverageOriginShouldBeAccountedForInSubpasses_Vulkan.png impeller_Play_AiksTest_DrawAdvancedBlendPartlyOffscreen_Metal.png +impeller_Play_AiksTest_DrawAdvancedBlendPartlyOffscreen_OpenGLES.png impeller_Play_AiksTest_DrawAdvancedBlendPartlyOffscreen_Vulkan.png impeller_Play_AiksTest_DrawAtlasAdvancedAndTransform_Metal.png +impeller_Play_AiksTest_DrawAtlasAdvancedAndTransform_OpenGLES.png impeller_Play_AiksTest_DrawAtlasAdvancedAndTransform_Vulkan.png impeller_Play_AiksTest_DrawAtlasWithColorAdvancedAndTransform_Metal.png +impeller_Play_AiksTest_DrawAtlasWithColorAdvancedAndTransform_OpenGLES.png impeller_Play_AiksTest_DrawAtlasWithColorAdvancedAndTransform_Vulkan.png +impeller_Play_AiksTest_DrawLinesRenderCorrectly_Metal.png +impeller_Play_AiksTest_DrawLinesRenderCorrectly_OpenGLES.png +impeller_Play_AiksTest_DrawLinesRenderCorrectly_Vulkan.png impeller_Play_AiksTest_DrawPaintTransformsBounds_Metal.png +impeller_Play_AiksTest_DrawPaintTransformsBounds_OpenGLES.png +impeller_Play_AiksTest_DrawPaintTransformsBounds_Vulkan.png impeller_Play_AiksTest_DrawPaintWithAdvancedBlendOverFilter_Metal.png +impeller_Play_AiksTest_DrawPaintWithAdvancedBlendOverFilter_OpenGLES.png impeller_Play_AiksTest_DrawPaintWithAdvancedBlendOverFilter_Vulkan.png -impeller_Play_AiksTest_DrawPictureClipped_Metal.png -impeller_Play_AiksTest_DrawPictureClipped_Vulkan.png -impeller_Play_AiksTest_DrawPictureWithText_Metal.png -impeller_Play_AiksTest_DrawPictureWithText_Vulkan.png impeller_Play_AiksTest_DrawRectStrokesRenderCorrectly_Metal.png +impeller_Play_AiksTest_DrawRectStrokesRenderCorrectly_OpenGLES.png impeller_Play_AiksTest_DrawRectStrokesRenderCorrectly_Vulkan.png +impeller_Play_AiksTest_DrawRectStrokesWithBevelJoinRenderCorrectly_Metal.png +impeller_Play_AiksTest_DrawRectStrokesWithBevelJoinRenderCorrectly_OpenGLES.png +impeller_Play_AiksTest_DrawRectStrokesWithBevelJoinRenderCorrectly_Vulkan.png impeller_Play_AiksTest_DrawScaledTextWithPerspectiveNoSaveLayer_Metal.png +impeller_Play_AiksTest_DrawScaledTextWithPerspectiveNoSaveLayer_OpenGLES.png impeller_Play_AiksTest_DrawScaledTextWithPerspectiveNoSaveLayer_Vulkan.png impeller_Play_AiksTest_EmptySaveLayerIgnoresPaint_Metal.png +impeller_Play_AiksTest_EmptySaveLayerIgnoresPaint_OpenGLES.png impeller_Play_AiksTest_EmptySaveLayerIgnoresPaint_Vulkan.png -impeller_Play_AiksTest_EmptySaveLayerIgnoresWithMultiply_Metal.png -impeller_Play_AiksTest_EmptySaveLayerIgnoresWithMultiply_Vulkan.png impeller_Play_AiksTest_EmptySaveLayerRendersWithClear_Metal.png +impeller_Play_AiksTest_EmptySaveLayerRendersWithClear_OpenGLES.png impeller_Play_AiksTest_EmptySaveLayerRendersWithClear_Vulkan.png +impeller_Play_AiksTest_FilledCirclesRenderCorrectly_Metal.png +impeller_Play_AiksTest_FilledCirclesRenderCorrectly_OpenGLES.png +impeller_Play_AiksTest_FilledCirclesRenderCorrectly_Vulkan.png +impeller_Play_AiksTest_FilledEllipsesRenderCorrectly_Metal.png +impeller_Play_AiksTest_FilledEllipsesRenderCorrectly_OpenGLES.png +impeller_Play_AiksTest_FilledEllipsesRenderCorrectly_Vulkan.png +impeller_Play_AiksTest_FilledRoundRectPathsRenderCorrectly_Metal.png +impeller_Play_AiksTest_FilledRoundRectPathsRenderCorrectly_OpenGLES.png +impeller_Play_AiksTest_FilledRoundRectPathsRenderCorrectly_Vulkan.png +impeller_Play_AiksTest_FilledRoundRectsRenderCorrectly_Metal.png +impeller_Play_AiksTest_FilledRoundRectsRenderCorrectly_OpenGLES.png +impeller_Play_AiksTest_FilledRoundRectsRenderCorrectly_Vulkan.png impeller_Play_AiksTest_ForegroundBlendSubpassCollapseOptimization_Metal.png +impeller_Play_AiksTest_ForegroundBlendSubpassCollapseOptimization_OpenGLES.png impeller_Play_AiksTest_ForegroundBlendSubpassCollapseOptimization_Vulkan.png +impeller_Play_AiksTest_GaussianBlurAnimatedBackdrop_Metal.png +impeller_Play_AiksTest_GaussianBlurAnimatedBackdrop_OpenGLES.png +impeller_Play_AiksTest_GaussianBlurAnimatedBackdrop_Vulkan.png +impeller_Play_AiksTest_GaussianBlurAtPeripheryHorizontal_Metal.png +impeller_Play_AiksTest_GaussianBlurAtPeripheryHorizontal_OpenGLES.png +impeller_Play_AiksTest_GaussianBlurAtPeripheryHorizontal_Vulkan.png +impeller_Play_AiksTest_GaussianBlurAtPeripheryVertical_Metal.png +impeller_Play_AiksTest_GaussianBlurAtPeripheryVertical_OpenGLES.png +impeller_Play_AiksTest_GaussianBlurAtPeripheryVertical_Vulkan.png +impeller_Play_AiksTest_GaussianBlurOneDimension_Metal.png +impeller_Play_AiksTest_GaussianBlurOneDimension_OpenGLES.png +impeller_Play_AiksTest_GaussianBlurOneDimension_Vulkan.png +impeller_Play_AiksTest_GaussianBlurRotatedAndClippedInteractive_Metal.png +impeller_Play_AiksTest_GaussianBlurRotatedAndClippedInteractive_OpenGLES.png +impeller_Play_AiksTest_GaussianBlurRotatedAndClippedInteractive_Vulkan.png +impeller_Play_AiksTest_GaussianBlurRotatedAndClipped_Metal.png +impeller_Play_AiksTest_GaussianBlurRotatedAndClipped_OpenGLES.png +impeller_Play_AiksTest_GaussianBlurRotatedAndClipped_Vulkan.png +impeller_Play_AiksTest_GaussianBlurScaledAndClipped_Metal.png +impeller_Play_AiksTest_GaussianBlurScaledAndClipped_OpenGLES.png +impeller_Play_AiksTest_GaussianBlurScaledAndClipped_Vulkan.png +impeller_Play_AiksTest_GaussianBlurWithoutDecalSupport_Metal.png +impeller_Play_AiksTest_GradientStrokesRenderCorrectly_Metal.png +impeller_Play_AiksTest_GradientStrokesRenderCorrectly_OpenGLES.png +impeller_Play_AiksTest_GradientStrokesRenderCorrectly_Vulkan.png +impeller_Play_AiksTest_GuassianBlurUpdatesMipmapContents_Metal.png +impeller_Play_AiksTest_GuassianBlurUpdatesMipmapContents_OpenGLES.png +impeller_Play_AiksTest_GuassianBlurUpdatesMipmapContents_Vulkan.png +impeller_Play_AiksTest_ImageColorSourceEffectTransform_Metal.png +impeller_Play_AiksTest_ImageColorSourceEffectTransform_OpenGLES.png +impeller_Play_AiksTest_ImageColorSourceEffectTransform_Vulkan.png +impeller_Play_AiksTest_ImageFilteredSaveLayerWithUnboundedContents_Metal.png +impeller_Play_AiksTest_ImageFilteredSaveLayerWithUnboundedContents_OpenGLES.png +impeller_Play_AiksTest_ImageFilteredSaveLayerWithUnboundedContents_Vulkan.png +impeller_Play_AiksTest_ImageFilteredUnboundedSaveLayerWithUnboundedContents_Metal.png +impeller_Play_AiksTest_ImageFilteredUnboundedSaveLayerWithUnboundedContents_OpenGLES.png +impeller_Play_AiksTest_ImageFilteredUnboundedSaveLayerWithUnboundedContents_Vulkan.png impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_Metal.png +impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_OpenGLES.png impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_Vulkan.png +impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_Metal.png +impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_OpenGLES.png +impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_Vulkan.png impeller_Play_AiksTest_MatrixBackdropFilter_Metal.png +impeller_Play_AiksTest_MatrixBackdropFilter_OpenGLES.png impeller_Play_AiksTest_MatrixBackdropFilter_Vulkan.png impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenScaledAndTranslatedFromOffscreen_Metal.png +impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenScaledAndTranslatedFromOffscreen_OpenGLES.png impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenScaledAndTranslatedFromOffscreen_Vulkan.png impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenTranslatedFromOffscreen_Metal.png +impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenTranslatedFromOffscreen_OpenGLES.png impeller_Play_AiksTest_MatrixImageFilterDoesntCullWhenTranslatedFromOffscreen_Vulkan.png impeller_Play_AiksTest_MatrixImageFilterMagnify_Metal.png +impeller_Play_AiksTest_MatrixImageFilterMagnify_OpenGLES.png impeller_Play_AiksTest_MatrixImageFilterMagnify_Vulkan.png impeller_Play_AiksTest_MatrixSaveLayerFilter_Metal.png +impeller_Play_AiksTest_MatrixSaveLayerFilter_OpenGLES.png impeller_Play_AiksTest_MatrixSaveLayerFilter_Vulkan.png impeller_Play_AiksTest_PaintBlendModeIsRespected_Metal.png +impeller_Play_AiksTest_PaintBlendModeIsRespected_OpenGLES.png impeller_Play_AiksTest_PaintBlendModeIsRespected_Vulkan.png impeller_Play_AiksTest_PipelineBlendSingleParameter_Metal.png +impeller_Play_AiksTest_PipelineBlendSingleParameter_OpenGLES.png impeller_Play_AiksTest_PipelineBlendSingleParameter_Vulkan.png impeller_Play_AiksTest_ReleasesTextureOnTeardown_Metal.png +impeller_Play_AiksTest_ReleasesTextureOnTeardown_OpenGLES.png impeller_Play_AiksTest_ReleasesTextureOnTeardown_Vulkan.png impeller_Play_AiksTest_RotateColorFilteredPath_Metal.png +impeller_Play_AiksTest_RotateColorFilteredPath_OpenGLES.png impeller_Play_AiksTest_RotateColorFilteredPath_Vulkan.png impeller_Play_AiksTest_SaveLayerDrawsBehindSubsequentEntities_Metal.png +impeller_Play_AiksTest_SaveLayerDrawsBehindSubsequentEntities_OpenGLES.png impeller_Play_AiksTest_SaveLayerDrawsBehindSubsequentEntities_Vulkan.png impeller_Play_AiksTest_SaveLayerFiltersScaleWithTransform_Metal.png +impeller_Play_AiksTest_SaveLayerFiltersScaleWithTransform_OpenGLES.png impeller_Play_AiksTest_SaveLayerFiltersScaleWithTransform_Vulkan.png impeller_Play_AiksTest_SiblingSaveLayerBoundsAreRespected_Metal.png +impeller_Play_AiksTest_SiblingSaveLayerBoundsAreRespected_OpenGLES.png impeller_Play_AiksTest_SiblingSaveLayerBoundsAreRespected_Vulkan.png +impeller_Play_AiksTest_SolidColorCirclesOvalsRRectsMaskBlurCorrectly_Metal.png +impeller_Play_AiksTest_SolidColorCirclesOvalsRRectsMaskBlurCorrectly_OpenGLES.png +impeller_Play_AiksTest_SolidColorCirclesOvalsRRectsMaskBlurCorrectly_Vulkan.png +impeller_Play_AiksTest_SolidStrokesRenderCorrectly_Metal.png +impeller_Play_AiksTest_SolidStrokesRenderCorrectly_OpenGLES.png +impeller_Play_AiksTest_SolidStrokesRenderCorrectly_Vulkan.png impeller_Play_AiksTest_SrgbToLinearFilterSubpassCollapseOptimization_Metal.png +impeller_Play_AiksTest_SrgbToLinearFilterSubpassCollapseOptimization_OpenGLES.png impeller_Play_AiksTest_SrgbToLinearFilterSubpassCollapseOptimization_Vulkan.png +impeller_Play_AiksTest_StrokedCirclesRenderCorrectly_Metal.png +impeller_Play_AiksTest_StrokedCirclesRenderCorrectly_OpenGLES.png +impeller_Play_AiksTest_StrokedCirclesRenderCorrectly_Vulkan.png +impeller_Play_AiksTest_SubpassWithClearColorOptimization_Metal.png +impeller_Play_AiksTest_SubpassWithClearColorOptimization_OpenGLES.png +impeller_Play_AiksTest_SubpassWithClearColorOptimization_Vulkan.png impeller_Play_AiksTest_TextForegroundShaderWithTransform_Metal.png +impeller_Play_AiksTest_TextForegroundShaderWithTransform_OpenGLES.png impeller_Play_AiksTest_TextForegroundShaderWithTransform_Vulkan.png +impeller_Play_AiksTest_TextFrameSubpixelAlignment_Metal.png +impeller_Play_AiksTest_TextFrameSubpixelAlignment_OpenGLES.png +impeller_Play_AiksTest_TextFrameSubpixelAlignment_Vulkan.png impeller_Play_AiksTest_TranslucentSaveLayerDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerDrawsCorrectly_OpenGLES.png impeller_Play_AiksTest_TranslucentSaveLayerDrawsCorrectly_Vulkan.png impeller_Play_AiksTest_TranslucentSaveLayerImageDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerImageDrawsCorrectly_OpenGLES.png impeller_Play_AiksTest_TranslucentSaveLayerImageDrawsCorrectly_Vulkan.png impeller_Play_AiksTest_TranslucentSaveLayerWithAdvancedBlendModeDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithAdvancedBlendModeDrawsCorrectly_OpenGLES.png impeller_Play_AiksTest_TranslucentSaveLayerWithAdvancedBlendModeDrawsCorrectly_Vulkan.png impeller_Play_AiksTest_TranslucentSaveLayerWithBlendColorFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithBlendColorFilterDrawsCorrectly_OpenGLES.png impeller_Play_AiksTest_TranslucentSaveLayerWithBlendColorFilterDrawsCorrectly_Vulkan.png impeller_Play_AiksTest_TranslucentSaveLayerWithBlendImageFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithBlendImageFilterDrawsCorrectly_OpenGLES.png impeller_Play_AiksTest_TranslucentSaveLayerWithBlendImageFilterDrawsCorrectly_Vulkan.png impeller_Play_AiksTest_TranslucentSaveLayerWithColorAndImageFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorAndImageFilterDrawsCorrectly_OpenGLES.png impeller_Play_AiksTest_TranslucentSaveLayerWithColorAndImageFilterDrawsCorrectly_Vulkan.png impeller_Play_AiksTest_TranslucentSaveLayerWithColorFilterAndImageFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorFilterAndImageFilterDrawsCorrectly_OpenGLES.png impeller_Play_AiksTest_TranslucentSaveLayerWithColorFilterAndImageFilterDrawsCorrectly_Vulkan.png impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixColorFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixColorFilterDrawsCorrectly_OpenGLES.png impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixColorFilterDrawsCorrectly_Vulkan.png impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixImageFilterDrawsCorrectly_Metal.png +impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixImageFilterDrawsCorrectly_OpenGLES.png impeller_Play_AiksTest_TranslucentSaveLayerWithColorMatrixImageFilterDrawsCorrectly_Vulkan.png +impeller_Play_AiksTest_VerticesGeometryUVPositionDataWithTranslate_Metal.png +impeller_Play_AiksTest_VerticesGeometryUVPositionDataWithTranslate_OpenGLES.png +impeller_Play_AiksTest_VerticesGeometryUVPositionDataWithTranslate_Vulkan.png impeller_Play_AiksTest_VerticesGeometryUVPositionData_Metal.png +impeller_Play_AiksTest_VerticesGeometryUVPositionData_OpenGLES.png impeller_Play_AiksTest_VerticesGeometryUVPositionData_Vulkan.png \ No newline at end of file From 333ac576a262e50028ddb4826fe398f8ca32c07e Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 13 Feb 2024 14:26:36 -0800 Subject: [PATCH 4/7] changed formatting --- testing/run_tests.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/testing/run_tests.py b/testing/run_tests.py index 8ff670005fc53..3c3b0a28dba66 100755 --- a/testing/run_tests.py +++ b/testing/run_tests.py @@ -1051,7 +1051,8 @@ def run_impeller_golden_tests(build_dir: str): cwd=os.path.join(BUILDROOT_DIR, "flutter")) if diff_result.returncode != 0: print_divider('<') - print(f'Unexpected diff in {golden_path}') + print(f'Unexpected diff in {golden_path}, use `git apply` with the following patch.') + print('') print(redirect_patch(diff_result.stdout.decode())) raise RuntimeError('impeller_golden_tests diff failure') From ff67a4f73fba54c2d9525417ab2af8e703ce7f09 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 13 Feb 2024 14:27:37 -0800 Subject: [PATCH 5/7] format --- testing/run_tests.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/testing/run_tests.py b/testing/run_tests.py index 3c3b0a28dba66..c3cde7e8cf949 100755 --- a/testing/run_tests.py +++ b/testing/run_tests.py @@ -1012,20 +1012,27 @@ def __enter__(self): def __exit__(self, exception_type, exception_value, exception_traceback): os.chdir(self.old_cwd) + def generate_dir_listing(dir_path: str) -> str: listing = os.listdir(dir_path) listing.sort() return reduce(lambda a, b: a + "\n" + b, listing) + def str_replace_range(instr: str, start: int, end: int, replacement: str) -> str: return instr[:start] + replacement + instr[end:] + def redirect_patch(patch: str) -> str: "Makes a diff point its output file to its input file." input_path = re.search(r'^--- a(.*)', patch, re.MULTILINE) output_path = re.search(r'^\+\+\+ b(.*)', patch, re.MULTILINE) - return str_replace_range(patch, output_path.span(1)[0], - output_path.span(1)[1], input_path.group(1)) + return str_replace_range( + patch, + output_path.span(1)[0], + output_path.span(1)[1], input_path.group(1) + ) + def run_impeller_golden_tests(build_dir: str): """ @@ -1046,9 +1053,13 @@ def run_impeller_golden_tests(build_dir: str): dir_listing = generate_dir_listing(temp_dir) dir_listing_file.write(dir_listing) golden_path = os.path.join("testing", "impeller_golden_tests_output.txt") - diff_result = subprocess.run(f'git diff -p {golden_path} {dir_listing_file.name}', - check=False, shell=True, stdout=subprocess.PIPE, - cwd=os.path.join(BUILDROOT_DIR, "flutter")) + diff_result = subprocess.run( + f'git diff -p {golden_path} {dir_listing_file.name}', + check=False, + shell=True, + stdout=subprocess.PIPE, + cwd=os.path.join(BUILDROOT_DIR, "flutter") + ) if diff_result.returncode != 0: print_divider('<') print(f'Unexpected diff in {golden_path}, use `git apply` with the following patch.') From 8fe2c9253da1a8f9504947031e5ca11770108094 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 13 Feb 2024 14:33:17 -0800 Subject: [PATCH 6/7] removed _NUM_EXPECTED_GENERATED_IMPELLER_GOLDEN_FILES --- testing/run_tests.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/testing/run_tests.py b/testing/run_tests.py index c3cde7e8cf949..1c167f2abf89b 100755 --- a/testing/run_tests.py +++ b/testing/run_tests.py @@ -40,9 +40,6 @@ ENCODING = 'UTF-8' -# This number must be updated when adding new golden tests to impeller. -_NUM_EXPECTED_GENERATED_IMPELLER_GOLDEN_FILES = 599 - logger = logging.getLogger(__name__) logger_handler = logging.StreamHandler() @@ -1067,15 +1064,6 @@ def run_impeller_golden_tests(build_dir: str): print(redirect_patch(diff_result.stdout.decode())) raise RuntimeError('impeller_golden_tests diff failure') - num_generated_files = len(os.listdir(temp_dir)) - if num_generated_files != _NUM_EXPECTED_GENERATED_IMPELLER_GOLDEN_FILES: - raise Exception( - '`impeller_golden_tests` was expected to generate ' - f'{_NUM_EXPECTED_GENERATED_IMPELLER_GOLDEN_FILES} files, ' - f'{num_generated_files} were generated. If this is expected, update ' - '_NUM_EXPECTED_GENERATED_IMPELLER_GOLDEN_FILES.' - ) - with DirectoryChange(harvester_path): run_cmd(['dart', 'pub', 'get']) bin_path = Path('.').joinpath('bin').joinpath('golden_tests_harvester.dart') From cab4867f9842e11c7fc47ced1cc8115b897423c4 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 13 Feb 2024 16:26:20 -0800 Subject: [PATCH 7/7] moved to single quote --- testing/run_tests.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/testing/run_tests.py b/testing/run_tests.py index 1c167f2abf89b..904790d9a7f9c 100755 --- a/testing/run_tests.py +++ b/testing/run_tests.py @@ -1013,7 +1013,7 @@ def __exit__(self, exception_type, exception_value, exception_traceback): def generate_dir_listing(dir_path: str) -> str: listing = os.listdir(dir_path) listing.sort() - return reduce(lambda a, b: a + "\n" + b, listing) + return reduce(lambda a, b: a + '\n' + b, listing) def str_replace_range(instr: str, start: int, end: int, replacement: str) -> str: @@ -1021,7 +1021,7 @@ def str_replace_range(instr: str, start: int, end: int, replacement: str) -> str def redirect_patch(patch: str) -> str: - "Makes a diff point its output file to its input file." + 'Makes a diff point its output file to its input file.' input_path = re.search(r'^--- a(.*)', patch, re.MULTILINE) output_path = re.search(r'^\+\+\+ b(.*)', patch, re.MULTILINE) return str_replace_range( @@ -1045,17 +1045,17 @@ def run_impeller_golden_tests(build_dir: str): ).joinpath('golden_tests_harvester') with tempfile.TemporaryDirectory(prefix='impeller_golden') as temp_dir: run_cmd([tests_path, '--working_dir=%s' % temp_dir], cwd=build_dir) - with tempfile.NamedTemporaryFile(mode="w", - prefix="impeller_golden_tests_output") as dir_listing_file: + with tempfile.NamedTemporaryFile(mode='w', + prefix='impeller_golden_tests_output') as dir_listing_file: dir_listing = generate_dir_listing(temp_dir) dir_listing_file.write(dir_listing) - golden_path = os.path.join("testing", "impeller_golden_tests_output.txt") + golden_path = os.path.join('testing', 'impeller_golden_tests_output.txt') diff_result = subprocess.run( f'git diff -p {golden_path} {dir_listing_file.name}', check=False, shell=True, stdout=subprocess.PIPE, - cwd=os.path.join(BUILDROOT_DIR, "flutter") + cwd=os.path.join(BUILDROOT_DIR, 'flutter') ) if diff_result.returncode != 0: print_divider('<')