Index: src/gpu/GrContextFactory.h |
diff --git a/src/gpu/GrContextFactory.h b/src/gpu/GrContextFactory.h |
deleted file mode 100644 |
index 1bc1e21fbbd1828a48c562d39cd3aba7e9bb9254..0000000000000000000000000000000000000000 |
--- a/src/gpu/GrContextFactory.h |
+++ /dev/null |
@@ -1,145 +0,0 @@ |
-/* |
- * Copyright 2012 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#ifndef GrContextFactory_DEFINED |
-#define GrContextFactory_DEFINED |
- |
-#include "GrContext.h" |
-#include "GrContextOptions.h" |
- |
-#include "gl/SkGLContext.h" |
-#include "SkTArray.h" |
- |
-/** |
- * This is a simple class that is useful in test apps that use different |
- * GrContexts backed by different types of GL contexts. It manages creating the |
- * GL context and a GrContext that uses it. The GL/Gr contexts persist until the |
- * factory is destroyed (though the caller can always grab a ref on the returned |
- * Gr and GL contexts to make them outlive the factory). |
- */ |
-class GrContextFactory : SkNoncopyable { |
-public: |
- enum GLContextType { |
- kNative_GLContextType, //! OpenGL or OpenGL ES context. |
- kGL_GLContextType, //! OpenGL context. |
- kGLES_GLContextType, //! OpenGL ES context. |
-#if SK_ANGLE |
-#ifdef SK_BUILD_FOR_WIN |
- kANGLE_GLContextType, //! ANGLE on DirectX OpenGL ES context. |
-#endif |
- kANGLE_GL_GLContextType, //! ANGLE on OpenGL OpenGL ES context. |
-#endif |
-#if SK_COMMAND_BUFFER |
- kCommandBuffer_GLContextType, //! Chromium command buffer OpenGL ES context. |
-#endif |
-#if SK_MESA |
- kMESA_GLContextType, //! MESA OpenGL context |
-#endif |
- kNull_GLContextType, //! Non-rendering OpenGL mock context. |
- kDebug_GLContextType, //! Non-rendering, state verifying OpenGL context. |
- kLastGLContextType = kDebug_GLContextType |
- }; |
- |
- static const int kGLContextTypeCnt = kLastGLContextType + 1; |
- |
- /** |
- * Options for GL context creation. For historical and testing reasons the options will default |
- * to not using GL_NV_path_rendering extension even when the driver supports it. |
- */ |
- enum GLContextOptions { |
- kNone_GLContextOptions = 0, |
- kEnableNVPR_GLContextOptions = 0x1, |
- kRequireSRGBSupport_GLContextOptions = 0x2, |
- }; |
- |
- static bool IsRenderingGLContext(GLContextType type) { |
- switch (type) { |
- case kNull_GLContextType: |
- case kDebug_GLContextType: |
- return false; |
- default: |
- return true; |
- } |
- } |
- |
- static const char* GLContextTypeName(GLContextType type) { |
- switch (type) { |
- case kNative_GLContextType: |
- return "native"; |
- case kGL_GLContextType: |
- return "gl"; |
- case kGLES_GLContextType: |
- return "gles"; |
-#if SK_ANGLE |
-#ifdef SK_BUILD_FOR_WIN |
- case kANGLE_GLContextType: |
- return "angle"; |
-#endif |
- case kANGLE_GL_GLContextType: |
- return "angle-gl"; |
-#endif |
-#if SK_COMMAND_BUFFER |
- case kCommandBuffer_GLContextType: |
- return "commandbuffer"; |
-#endif |
-#if SK_MESA |
- case kMESA_GLContextType: |
- return "mesa"; |
-#endif |
- case kNull_GLContextType: |
- return "null"; |
- case kDebug_GLContextType: |
- return "debug"; |
- default: |
- SkFAIL("Unknown GL Context type."); |
- } |
- } |
- |
- explicit GrContextFactory(const GrContextOptions& opts); |
- GrContextFactory(); |
- |
- ~GrContextFactory(); |
- |
- void destroyContexts(); |
- void abandonContexts(); |
- |
- struct ContextInfo { |
- ContextInfo() |
- : fGrContext(nullptr), fGLContext(nullptr) { } |
- ContextInfo(GrContext* grContext, SkGLContext* glContext) |
- : fGrContext(grContext), fGLContext(glContext) { } |
- GrContext* fGrContext; |
- SkGLContext* fGLContext; //! Valid until the factory destroys it via abandonContexts() or |
- //! destroyContexts(). |
- }; |
- |
- /** |
- * Get a context initialized with a type of GL context. It also makes the GL context current. |
- */ |
- ContextInfo getContextInfo(GLContextType type, |
- GLContextOptions options = kNone_GLContextOptions); |
- /** |
- * Get a GrContext initialized with a type of GL context. It also makes the GL context current. |
- */ |
- GrContext* get(GLContextType type, |
- GLContextOptions options = kNone_GLContextOptions) { |
- return this->getContextInfo(type, options).fGrContext; |
- } |
- const GrContextOptions& getGlobalOptions() const { return fGlobalOptions; } |
- |
-private: |
- struct Context { |
- GLContextType fType; |
- GLContextOptions fOptions; |
- SkGLContext* fGLContext; |
- GrContext* fGrContext; |
- }; |
- SkTArray<Context, true> fContexts; |
- const GrContextOptions fGlobalOptions; |
-}; |
- |
-#endif |