Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 3244a32

Browse files
committed
Filter to passing vulkan tests
1 parent edc25b1 commit 3244a32

File tree

3 files changed

+178
-6
lines changed

3 files changed

+178
-6
lines changed

ci/builders/linux_host_engine.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
"--variant",
6060
"host_debug_impeller_vulkan",
6161
"--type",
62-
"engine",
62+
"impeller-vulkan",
6363
"--engine-capture-core-dump"
6464
],
6565
"script": "flutter/testing/run_tests.py",
+141
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
test,status
2+
CanRenderImage/Vulkan,fail
3+
CanRenderTiledTexture/Vulkan,fail
4+
CanRenderImageRect/Vulkan,fail
5+
CoordinateConversionsAreCorrect/Vulkan,fail
6+
CanRenderDifferencePaths/Vulkan,fail
7+
SaveLayerFiltersScaleWithTransform/Vulkan,fail
8+
CanDrawImage/Vulkan,fail
9+
CanDrawWithMaskBlur/Vulkan,fail
10+
CanDrawWithBlendColorFilter/Vulkan,fail
11+
CanDrawWithColorFilterImageFilter/Vulkan,fail
12+
CanDrawWithImageBlurFilter/Vulkan,fail
13+
CanDrawWithComposeImageFilter/Vulkan,fail
14+
CanClampTheResultingColorOfColorMatrixFilter/Vulkan,fail
15+
SaveLayerWithColorMatrixFiltersAndAlphaDrawCorrectly/Vulkan,fail
16+
SaveLayerWithBlendFiltersAndAlphaDrawCorrectly/Vulkan,fail
17+
CanDrawBackdropFilter/Vulkan,fail
18+
CanDrawNinePatchImage/Vulkan,fail
19+
CanDrawNinePatchImageCenterWidthBiggerThanDest/Vulkan,fail
20+
CanDrawNinePatchImageCenterHeightBiggerThanDest/Vulkan,fail
21+
CanDrawNinePatchImageCenterBiggerThanDest/Vulkan,fail
22+
CanDrawNinePatchImageCornersScaledDown/Vulkan,fail
23+
CanDrawWithMatrixFilter/Vulkan,fail
24+
CanDrawPaintWithColorSource/Vulkan,fail
25+
FilterCoverageRespectsCropRect/Vulkan,fail
26+
Filters/Vulkan,fail
27+
GaussianBlurFilter/Vulkan,fail
28+
MorphologyFilter/Vulkan,fail
29+
DrawAtlasNoColor/Vulkan,fail
30+
DrawAtlasWithColor/Vulkan,fail
31+
DrawAtlasUsesProvidedCullRectForCoverage/Vulkan,fail
32+
DrawAtlasWithOpacity/Vulkan,fail
33+
DrawAtlasNoColorFullSize/Vulkan,fail
34+
ColorMatrixFilterEditable/Vulkan,fail
35+
LinearToSrgbFilter/Vulkan,fail
36+
SrgbToLinearFilter/Vulkan,fail
37+
CanCreateBoxPrimitive/Vulkan,fail
38+
CanRenderPerspectiveCube/Vulkan,fail
39+
CanRenderMultiplePrimitives/Vulkan,fail
40+
CanRenderToTexture/Vulkan,fail
41+
CanBlitTextureToTexture/Vulkan,fail
42+
CanGenerateMipmaps/Vulkan,fail
43+
TheImpeller/Vulkan,fail
44+
InactiveUniforms/Vulkan,fail
45+
CanCreateGlyphAtlas/Vulkan,fail
46+
GlyphAtlasWithOddUniqueGlyphSize/Vulkan,fail
47+
CanRegisterStage/Vulkan,pass
48+
CanCreatePipelineFromRuntimeStage/Vulkan,pass
49+
CanvasCTMCanBeUpdated/Vulkan,pass
50+
CanvasCanPushPopCTM/Vulkan,pass
51+
CanRenderColoredRect/Vulkan,pass
52+
CanRenderStrokes/Vulkan,pass
53+
CanRenderCurvedStrokes/Vulkan,pass
54+
CanRenderClips/Vulkan,pass
55+
CanRenderNestedClips/Vulkan,pass
56+
CanRenderDifferenceClips/Vulkan,pass
57+
ClipsUseCurrentTransform/Vulkan,pass
58+
CanSaveLayerStandalone/Vulkan,pass
59+
CanRenderLinearGradient/Vulkan,pass
60+
CanRenderLinearGradientManyColors/Vulkan,pass
61+
CanRenderLinearGradientWayManyColors/Vulkan,pass
62+
CanRenderLinearGradientManyColorsUnevenStops/Vulkan,pass
63+
CanRenderRadialGradient/Vulkan,pass
64+
CanRenderRadialGradientManyColors/Vulkan,pass
65+
CanRenderSweepGradient/Vulkan,pass
66+
CanRenderSweepGradientManyColors/Vulkan,pass
67+
CanRenderDifferentShapesWithSameColorSource/Vulkan,pass
68+
CanPictureConvertToImage/Vulkan,pass
69+
BlendModeShouldCoverWholeScreen/Vulkan,pass
70+
CanRenderGroupOpacity/Vulkan,pass
71+
CanPerformFullScreenMSAA/Vulkan,pass
72+
CanPerformSkew/Vulkan,pass
73+
CanPerformSaveLayerWithBounds/Vulkan,pass
74+
CanPerformSaveLayerWithBoundsAndLargerIntermediateIsNotAllocated/Vulkan,pass
75+
CanRenderRoundedRectWithNonUniformRadii/Vulkan,pass
76+
CanRenderTextFrame/Vulkan,pass
77+
CanRenderItalicizedText/Vulkan,pass
78+
CanRenderEmojiTextFrame/Vulkan,pass
79+
CanRenderTextInSaveLayer/Vulkan,pass
80+
CanDrawPaint/Vulkan,pass
81+
PaintBlendModeIsRespected/Vulkan,pass
82+
ColorWheel/Vulkan,pass
83+
TransformMultipliesCorrectly/Vulkan,pass
84+
SolidStrokesRenderCorrectly/Vulkan,pass
85+
GradientStrokesRenderCorrectly/Vulkan,pass
86+
CoverageOriginShouldBeAccountedForInSubpasses/Vulkan,pass
87+
DrawRectStrokesRenderCorrectly/Vulkan,pass
88+
SaveLayerDrawsBehindSubsequentEntities/Vulkan,pass
89+
SiblingSaveLayerBoundsAreRespected/Vulkan,pass
90+
CanRenderClippedLayers/Vulkan,pass
91+
CanDrawRect/Vulkan,pass
92+
CanDrawTextBlob/Vulkan,pass
93+
CanDrawCapsAndJoins/Vulkan,pass
94+
CanDrawArc/Vulkan,pass
95+
StrokedPathsDrawCorrectly/Vulkan,pass
96+
CanDrawWithOddPathWinding/Vulkan,pass
97+
CanDrawPoints/Vulkan,pass
98+
CanDrawZeroLengthLine/Vulkan,pass
99+
CanDrawShadow/Vulkan,pass
100+
CanConvertTriangleFanToTriangles/Vulkan,pass
101+
CanDrawZeroWidthLine/Vulkan,pass
102+
CanDrawRectWithLinearToSrgbColorFilter/Vulkan,pass
103+
CanBlendDstOverAndDstCorrectly/Vulkan,pass
104+
CanCreateEntity/Vulkan,pass
105+
EntityPassCoverageRespectsDelegateBoundsHint/Vulkan,pass
106+
EntityPassCoverageRespectsCoverageLimit/Vulkan,pass
107+
CanDrawRect/Vulkan,pass
108+
ThreeStrokesInOnePath/Vulkan,pass
109+
TriangleInsideASquare/Vulkan,pass
110+
StrokeCapAndJoinTest/Vulkan,pass
111+
CubicCurveTest/Vulkan,pass
112+
CubicCurveAndOverlapTest/Vulkan,pass
113+
SolidColorContentsStrokeSetStrokeCapsAndJoins/Vulkan,pass
114+
SolidColorContentsStrokeSetMiterLimit/Vulkan,pass
115+
BlendingModeOptions/Vulkan,pass
116+
BezierCircleScaled/Vulkan,pass
117+
SetBlendMode/Vulkan,pass
118+
ContentsGetBoundsForEmptyPathReturnsNullopt/Vulkan,pass
119+
SolidStrokeCoverageIsCorrect/Vulkan,pass
120+
BorderMaskBlurCoverageIsCorrect/Vulkan,pass
121+
DrawVerticesSolidColorTrianglesWithoutIndices/Vulkan,pass
122+
DrawVerticesLinearGradientWithoutIndices/Vulkan,pass
123+
DrawVerticesSolidColorTrianglesWithIndices/Vulkan,pass
124+
SolidFillCoverageIsCorrect/Vulkan,pass
125+
SolidFillShouldRenderIsCorrect/Vulkan,pass
126+
ClipContentsShouldRenderIsCorrect/Vulkan,pass
127+
RRectShadowTest/Vulkan,pass
128+
ColorMatrixFilterCoverageIsCorrect/Vulkan,pass
129+
LinearToSrgbFilterCoverageIsCorrect/Vulkan,pass
130+
SrgbToLinearFilterCoverageIsCorrect/Vulkan,pass
131+
TTTBlendColor/Vulkan,pass
132+
SdfText/Vulkan,pass
133+
RuntimeEffect/Vulkan,pass
134+
ArrayUniforms/Vulkan,pass
135+
CanCreateCPUBackedTexture/Vulkan,pass
136+
DefaultIndexSize/Vulkan,pass
137+
VertexBufferBuilder/Vulkan,pass
138+
CanCreateComputePass/Vulkan,pass
139+
CanConvertTextBlob/Vulkan,pass
140+
CanCreateRenderContext/Vulkan,pass
141+
LazyAtlasTracksColor/Vulkan,pass

testing/run_tests.py

+36-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
import subprocess
1818
import sys
1919
import time
20+
import csv
2021

22+
script_dir = os.path.dirname(os.path.realpath(__file__))
2123
buildroot_dir = os.path.abspath(
2224
os.path.join(os.path.realpath(__file__), '..', '..', '..')
2325
)
@@ -305,6 +307,12 @@ def __str__(self):
305307
return " ".join(command)
306308

307309

310+
shuffle_flags = [
311+
"--gtest_repeat=2",
312+
"--gtest_shuffle",
313+
]
314+
315+
308316
def RunCCTests(build_dir, filter, coverage, capture_core_dump):
309317
print("Running Engine Unit-tests.")
310318

@@ -314,11 +322,6 @@ def RunCCTests(build_dir, filter, coverage, capture_core_dump):
314322
resource.RLIMIT_CORE, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)
315323
)
316324

317-
shuffle_flags = [
318-
"--gtest_repeat=2",
319-
"--gtest_shuffle",
320-
]
321-
322325
repeat_flags = [
323326
"--repeat=2",
324327
]
@@ -427,6 +430,19 @@ def make_test(name, flags=repeat_flags, extra_env={}):
427430
)
428431

429432

433+
def ParseImpellerVulkanFilter():
434+
test_status_path = os.path.join(script_dir, 'impeller_vulkan_test_status.csv')
435+
gtest_filter = '--gtest_filter="'
436+
with open(test_status_path, 'r') as csvfile:
437+
csvreader = csv.reader(csvfile)
438+
next(csvreader) # Skip header.
439+
for row in csvreader:
440+
if row[1] == 'pass':
441+
gtest_filter += '*%s:' % row[0]
442+
gtest_filter += '"'
443+
return gtest_filter
444+
445+
430446
def RunEngineBenchmarks(build_dir, filter):
431447
print("Running Engine Benchmarks.")
432448

@@ -1054,6 +1070,21 @@ def main():
10541070
build_dir, engine_filter, args.coverage, args.engine_capture_core_dump
10551071
)
10561072

1073+
# Use this type to exclusively run impeller vulkan tests.
1074+
# TODO (https://github.com/flutter/flutter/issues/113961): Remove this once
1075+
# impeller vulkan tests are stable.
1076+
if 'impeller-vulkan' in types:
1077+
vulkan_gtest_filter = ParseImpellerVulkanFilter()
1078+
gtest_flags = shuffle_flags
1079+
gtest_flags.append(vulkan_gtest_filter)
1080+
RunEngineExecutable(
1081+
build_dir,
1082+
'impeller_unittests',
1083+
engine_filter,
1084+
gtest_flags,
1085+
coverage=args.coverage
1086+
)
1087+
10571088
if 'dart' in types:
10581089
dart_filter = args.dart_filter.split(',') if args.dart_filter else None
10591090
tasks = list(GatherDartSmokeTest(build_dir, args.verbose_dart_snapshot))

0 commit comments

Comments
 (0)