Index: tools/gpu/vk/VkTestContext.h |
diff --git a/tools/gpu/vk/VkTestContext.h b/tools/gpu/vk/VkTestContext.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..afe5cd11994ee2d2867e6669e0ca0fdb94a0cda4 |
--- /dev/null |
+++ b/tools/gpu/vk/VkTestContext.h |
@@ -0,0 +1,47 @@ |
+/* |
+ * Copyright 2016 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef VkTestContext_DEFINED |
+#define VkTestContext_DEFINED |
+ |
+#include "TestContext.h" |
+ |
+#ifdef SK_VULKAN |
+ |
+#include "vk/GrVkBackendContext.h" |
+ |
+namespace sk_gpu_test { |
+class VkTestContext : public TestContext { |
+public: |
+ virtual GrBackend backend() override { return kVulkan_GrBackend; } |
+ virtual GrBackendContext backendContext() override { |
+ return reinterpret_cast<GrBackendContext>(fVk.get()); |
+ } |
+ |
+ bool isValid() const override { return NULL != this->vk(); } |
+ |
+ const GrVkInterface* vk() const { return fVk->fInterface; }; |
+ |
+protected: |
+ VkTestContext(sk_sp<const GrVkBackendContext> vk) : fVk(std::move(vk)) {}; |
+ |
+ sk_sp<const GrVkBackendContext> fVk; |
+ |
+private: |
+ typedef TestContext INHERITED; |
+}; |
+ |
+/** |
+ * Creates Vk context object bound to the native Vk library. |
+ */ |
+VkTestContext* CreatePlatformVkTestContext(); |
+ |
+} // namespace sk_gpu_test |
+ |
+#endif |
+ |
+#endif |