aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/gpu/GrTest.h
diff options
context:
space:
mode:
authorGravatar bsalomon <bsalomon@google.com>2016-03-30 08:35:09 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-30 08:35:09 -0700
commitfe3456cb006110d045b26ff3f8681b893a757b58 (patch)
tree8d07fbc43230b807d0cf7174c79d5757c397b07f /tools/gpu/GrTest.h
parentb4a7f144b41dbe8341d26abb71d87b13d072a5cf (diff)
Move SkGLContext and some GrGLInterface implementations to skgputest module
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1815823002
Diffstat (limited to 'tools/gpu/GrTest.h')
-rw-r--r--tools/gpu/GrTest.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/gpu/GrTest.h b/tools/gpu/GrTest.h
new file mode 100644
index 0000000000..53aaac34e4
--- /dev/null
+++ b/tools/gpu/GrTest.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef GrTest_DEFINED
+#define GrTest_DEFINED
+
+#include "GrContext.h"
+#include "GrDrawTarget.h"
+#include "gl/GrGLContext.h"
+
+namespace GrTest {
+ /**
+ * Forces the GrContext to use a small atlas which only has room for one plot and will thus
+ * constantly be evicting entries
+ */
+ void SetupAlwaysEvictAtlas(GrContext*);
+};
+
+/** TODO Please do not use this if you can avoid it. We are in the process of deleting it.
+ Allows a test to temporarily draw to a GrDrawTarget owned by a GrContext. Tests that use this
+ should be careful not to mix using the GrDrawTarget directly and drawing via SkCanvas or
+ GrContext. In the future this object may provide some guards to prevent this. */
+class GrTestTarget {
+public:
+ GrTestTarget() {};
+
+ void init(GrContext*, GrDrawTarget*, GrRenderTarget*);
+
+ GrDrawTarget* target() { return fDrawTarget.get(); }
+ GrResourceProvider* resourceProvider() { return fContext->resourceProvider(); }
+
+private:
+ SkAutoTUnref<GrContext> fContext;
+ SkAutoTUnref<GrDrawTarget> fDrawTarget;
+ SkAutoTUnref<GrRenderTarget> fRenderTarget;
+};
+
+#endif