diff options
Diffstat (limited to 'chromium/third_party/skia/bench/BulkRectBench.cpp')
-rw-r--r-- | chromium/third_party/skia/bench/BulkRectBench.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/chromium/third_party/skia/bench/BulkRectBench.cpp b/chromium/third_party/skia/bench/BulkRectBench.cpp index 71f9c3bab3a..53132047eb2 100644 --- a/chromium/third_party/skia/bench/BulkRectBench.cpp +++ b/chromium/third_party/skia/bench/BulkRectBench.cpp @@ -12,7 +12,6 @@ #include "include/gpu/GrContext.h" #include "include/utils/SkRandom.h" -#include "src/gpu/GrClip.h" #include "src/gpu/GrRenderTargetContext.h" #include "src/gpu/SkGr.h" @@ -150,7 +149,7 @@ protected: SkSimpleMatrixProvider matrixProvider(view); GrPaint grPaint; SkPaintToGrPaint(context, rtc->colorInfo(), paint, matrixProvider, &grPaint); - rtc->drawQuadSet(GrNoClip(), std::move(grPaint), GrAA::kYes, view, batch, kRectCount); + rtc->drawQuadSet(nullptr, std::move(grPaint), GrAA::kYes, view, batch, kRectCount); } void drawSolidColorsRef(SkCanvas* canvas) const { @@ -227,6 +226,15 @@ protected: } } + void onPerCanvasPostDraw(SkCanvas* canvas) override { + for (int i = 0; i < kImageCount; ++i) { + // For Vulkan we need to make sure the bench isn't holding onto any refs to the + // GrContext when we go to delete the vulkan context (which happens before the bench is + // deleted). So reset all the images here so they aren't holding GrContext refs. + fImages[i].reset(); + } + } + void onDraw(int loops, SkCanvas* canvas) override { for (int i = 0; i < loops; i++) { if (kImageMode == ImageMode::kNone) { |