summaryrefslogtreecommitdiff
path: root/chromium/third_party/skia/bench/BulkRectBench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/bench/BulkRectBench.cpp')
-rw-r--r--chromium/third_party/skia/bench/BulkRectBench.cpp12
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) {