| 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
|
|
|