aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar bsalomon <bsalomon@google.com>2015-12-01 07:58:44 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-12-01 07:58:44 -0800
commita0a024e323ebf73ea4559d4b29f937902703828b (patch)
tree1750701851ece8ade9a23444a41e23a5e3b4e097 /tests
parentcb6cb21cd9d27054810d2c80ef534dcddd615d4b (diff)
Revert of Make NVPR a GL context option instead of a GL context (patchset #2 id:20001 of https://codereview.chromium.org/1448883002/ )
Reason for revert: BUG=skia:4609 skbug.com/4609 Seems like GrContextFactory needs to fail when the NVPR option is requested but the driver version isn't sufficiently high. Original issue's description: > Make NVPR a GL context option instead of a GL context > > Make NVPR a GL context option instead of a GL context. > This may enable NVPR to be run with command buffer > interface. > > No functionality change in DM or nanobench. NVPR can > only be run with normal GL APIs. > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/eeebdb538d476c1bfc8b63a946094ca1b505ecd1 TBR=mtklein@google.com,jvanverth@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1486153002
Diffstat (limited to 'tests')
-rwxr-xr-xtests/GLInterfaceValidationTest.cpp39
-rw-r--r--tests/GrContextFactoryTest.cpp18
2 files changed, 18 insertions, 39 deletions
diff --git a/tests/GLInterfaceValidationTest.cpp b/tests/GLInterfaceValidationTest.cpp
index b890b44e5f..5736e2d2d6 100755
--- a/tests/GLInterfaceValidationTest.cpp
+++ b/tests/GLInterfaceValidationTest.cpp
@@ -12,33 +12,28 @@
#include "GrContextFactory.h"
-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) {
+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);
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
diff --git a/tests/GrContextFactoryTest.cpp b/tests/GrContextFactoryTest.cpp
index ad83a344d8..79209c719f 100644
--- a/tests/GrContextFactoryTest.cpp
+++ b/tests/GrContextFactoryTest.cpp
@@ -10,24 +10,8 @@
#if SK_SUPPORT_GPU
#include "GrContextFactory.h"
-#include "GrCaps.h"
#include "Test.h"
-DEF_GPUTEST(GrContextFactoryNVPRContextOptions, reporter, /*factory*/) {
- GrContextFactory testFactory;
- // Test that if NVPR is possible, caps are in sync.
- for (int i = 0; i < GrContextFactory::kGLContextTypeCnt; ++i) {
- GrContextFactory::GLContextType glCtxType = static_cast<GrContextFactory::GLContextType>(i);
- GrContext* context = testFactory.get(glCtxType,
- kNone_GrGLStandard,
- GrContextFactory::kEnableNVPR_GLContextOptions);
- if (!context) {
- continue;
- }
- REPORTER_ASSERT(
- reporter,
- context->caps()->shaderCaps()->pathRenderingSupport());
- }
-}
+// TODO: test GrContextFactory.
#endif