Index: tests/GLInterfaceValidationTest.cpp |
diff --git a/tests/GLInterfaceValidationTest.cpp b/tests/GLInterfaceValidationTest.cpp |
index 5736e2d2d6724519bd416badb65bdfe20bcabec6..b890b44e5f733dc3c950e6bf70a6964716fb4e6f 100755 |
--- a/tests/GLInterfaceValidationTest.cpp |
+++ b/tests/GLInterfaceValidationTest.cpp |
@@ -12,28 +12,33 @@ |
#include "GrContextFactory.h" |
-DEF_GPUTEST(GLInterfaceValidation, reporter, factory) { |
- for (int i = 0; i <= GrContextFactory::kLastGLContextType; ++i) { |
- GrContextFactory::GLContextType glCtxType = (GrContextFactory::GLContextType)i; |
- // this forces the factory to make the context if it hasn't yet |
- GrContextFactory::ContextInfo* contextInfo = factory->getContextInfo(glCtxType); |
- SkGLContext* glCtx = contextInfo ? contextInfo->fGLContext : nullptr; |
- |
- // We're supposed to fail the NVPR context type when we the native context that does not |
- // support the NVPR extension. |
- if (GrContextFactory::kNVPR_GLContextType == glCtxType && |
- factory->getContextInfo(GrContextFactory::kNative_GLContextType) && |
- !factory->getContextInfo(GrContextFactory::kNative_GLContextType)->fGLContext->gl()->hasExtension("GL_NV_path_rendering")) { |
- REPORTER_ASSERT(reporter, nullptr == glCtx); |
+DEF_GPUTEST(GLInterfaceValidation, reporter, /*factory*/) { |
+ GrContextFactory testFactory; |
+ |
+ // Test that if we do not have NV_path_rendering -related GL extensions, |
+ // GrContextFactory::get(.., kEnableNVPR_GLContextOptions) always returns nullptr. |
+ for (int i = 0; i < GrContextFactory::kGLContextTypeCnt; ++i) { |
+ GrContextFactory::GLContextType glCtxType = static_cast<GrContextFactory::GLContextType>(i); |
+ GrContextFactory::ContextInfo* context = |
+ testFactory.getContextInfo(glCtxType, kNone_GrGLStandard, |
+ GrContextFactory::kNone_GLContextOptions); |
+ if (!context) { |
continue; |
} |
- REPORTER_ASSERT(reporter, glCtx); |
- if (glCtx) { |
- const GrGLInterface* interface = glCtx->gl(); |
- REPORTER_ASSERT(reporter, interface->validate()); |
+ SkGLContext* glContext = context->fGLContext; |
+ REPORTER_ASSERT(reporter, glContext->gl()->validate()); |
+ |
+ if (!(glContext->gl()->hasExtension("GL_NV_path_rendering") || |
+ glContext->gl()->hasExtension("GL_CHROMIUM_path_rendering"))) { |
+ REPORTER_ASSERT(reporter, |
+ nullptr == testFactory.getContextInfo( |
+ glCtxType, |
+ kNone_GrGLStandard, |
+ GrContextFactory::kEnableNVPR_GLContextOptions)); |
} |
} |
+ |
} |
#endif |