| Index: tests/GLInterfaceValidationTest.cpp
|
| diff --git a/tests/GLInterfaceValidationTest.cpp b/tests/GLInterfaceValidationTest.cpp
|
| index b890b44e5f733dc3c950e6bf70a6964716fb4e6f..5736e2d2d6724519bd416badb65bdfe20bcabec6 100755
|
| --- a/tests/GLInterfaceValidationTest.cpp
|
| +++ b/tests/GLInterfaceValidationTest.cpp
|
| @@ -12,33 +12,28 @@
|
|
|
| #include "GrContextFactory.h"
|
|
|
| -DEF_GPUTEST(GLInterfaceValidation, reporter, /*factory*/) {
|
| - GrContextFactory testFactory;
|
| +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;
|
|
|
| - // 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) {
|
| + // 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);
|
| continue;
|
| }
|
|
|
| - 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));
|
| + REPORTER_ASSERT(reporter, glCtx);
|
| + if (glCtx) {
|
| + const GrGLInterface* interface = glCtx->gl();
|
| + REPORTER_ASSERT(reporter, interface->validate());
|
| }
|
| }
|
| -
|
| }
|
|
|
| #endif
|
|
|