| Index: src/gpu/GrContextFactory.h
|
| diff --git a/src/gpu/GrContextFactory.h b/src/gpu/GrContextFactory.h
|
| index 50978138174a22c22b68f45727b1e32a96aab8bf..c837e74a25b29c36ee2031ed97686d089b87d893 100644
|
| --- a/src/gpu/GrContextFactory.h
|
| +++ b/src/gpu/GrContextFactory.h
|
| @@ -23,33 +23,34 @@
|
| */
|
| class GrContextFactory : SkNoncopyable {
|
| public:
|
| + /**
|
| + * Types of GL contexts supported. For historical and testing reasons the native GrContext will
|
| + * not use "GL_NV_path_rendering" even when the driver supports it. There is a separate context
|
| + * type that does not remove NVPR support and which will fail when the driver does not support
|
| + * the extension.
|
| + */
|
| enum GLContextType {
|
| - kNative_GLContextType,
|
| + kNative_GLContextType,
|
| #if SK_ANGLE
|
| - kANGLE_GLContextType,
|
| - kANGLE_GL_GLContextType,
|
| + kANGLE_GLContextType,
|
| + kANGLE_GL_GLContextType,
|
| #endif
|
| #if SK_COMMAND_BUFFER
|
| - kCommandBuffer_GLContextType,
|
| + kCommandBuffer_GLContextType,
|
| #endif
|
| #if SK_MESA
|
| - kMESA_GLContextType,
|
| + kMESA_GLContextType,
|
| #endif
|
| - kNull_GLContextType,
|
| - kDebug_GLContextType,
|
| - kLastGLContextType = kDebug_GLContextType
|
| + /** Similar to kNative but does not filter NVPR. It will fail if the GL driver does not
|
| + support NVPR */
|
| + kNVPR_GLContextType,
|
| + kNull_GLContextType,
|
| + kDebug_GLContextType,
|
| +
|
| + 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,
|
| - };
|
|
|
| static bool IsRenderingGLContext(GLContextType type) {
|
| switch (type) {
|
| @@ -81,6 +82,8 @@
|
| case kMESA_GLContextType:
|
| return "mesa";
|
| #endif
|
| + case kNVPR_GLContextType:
|
| + return "nvpr";
|
| case kDebug_GLContextType:
|
| return "debug";
|
| default:
|
| @@ -116,7 +119,6 @@
|
|
|
| struct ContextInfo {
|
| GLContextType fType;
|
| - GLContextOptions fOptions;
|
| SkGLContext* fGLContext;
|
| GrContext* fGrContext;
|
| };
|
| @@ -124,15 +126,13 @@
|
| * Get a context initialized with a type of GL context. It also makes the GL context current.
|
| * Pointer is valid until destroyContexts() is called.
|
| */
|
| - ContextInfo* getContextInfo(GLContextType type, GrGLStandard forcedGpuAPI = kNone_GrGLStandard,
|
| - GLContextOptions options = kNone_GLContextOptions);
|
| + ContextInfo* getContextInfo(GLContextType type, GrGLStandard forcedGpuAPI = kNone_GrGLStandard);
|
|
|
| /**
|
| * Get a GrContext initialized with a type of GL context. It also makes the GL context current.
|
| */
|
| - GrContext* get(GLContextType type, GrGLStandard forcedGpuAPI = kNone_GrGLStandard,
|
| - GLContextOptions options = kNone_GLContextOptions) {
|
| - if (ContextInfo* info = this->getContextInfo(type, forcedGpuAPI, options)) {
|
| + GrContext* get(GLContextType type, GrGLStandard forcedGpuAPI = kNone_GrGLStandard) {
|
| + if (ContextInfo* info = this->getContextInfo(type, forcedGpuAPI)) {
|
| return info->fGrContext;
|
| }
|
| return nullptr;
|
|
|