Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(897)

Unified Diff: tests/GLInterfaceValidation.cpp

Issue 12703003: Simplify the GL interface validation test. (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/GLInterfaceValidation.cpp
===================================================================
--- tests/GLInterfaceValidation.cpp (revision 8049)
+++ tests/GLInterfaceValidation.cpp (working copy)
@@ -12,76 +12,22 @@
// This is a GPU-backend specific test
#if SK_SUPPORT_GPU
-#if SK_ANGLE
-#include "gl/SkANGLEGLContext.h"
-#endif
-#include "gl/SkNativeGLContext.h"
-#if SK_MESA
-#include "gl/SkMesaGLContext.h"
-#endif
+#include "GrContextFactory.h"
-static void GLInterfaceValidationTest(skiatest::Reporter* reporter) {
- typedef const GrGLInterface* (*interfaceFactory)();
- struct {
- interfaceFactory fFactory;
- const char* fName;
- } interfaceFactories[] = {
-#if SK_ANGLE
- {GrGLCreateANGLEInterface, "ANGLE"},
-#endif
- {GrGLCreateNativeInterface, "Native"},
-#if SK_MESA
- {GrGLCreateMesaInterface, "Mesa"},
-#endif
- {GrGLCreateDebugInterface, "Debug"},
- {GrGLCreateNullInterface, "Null"},
- };
-
- static const int kBogusSize = 16;
-
-#if SK_ANGLE
- SkANGLEGLContext::AutoContextRestore angleACR;
- SkANGLEGLContext angleContext;
- bool angleContextInit = angleContext.init(kBogusSize, kBogusSize);
- REPORTER_ASSERT(reporter, angleContextInit);
- if (!angleContextInit) {
- return;
- }
-#endif
-
- // On some platforms GrGLCreateNativeInterface will fail unless an OpenGL
- // context has been created. Also, preserve the current context that may
- // be in use by outer test harness.
- SkNativeGLContext::AutoContextRestore nglACR;
- SkNativeGLContext nglctx;
- bool nativeContextInit = nglctx.init(kBogusSize, kBogusSize);
- REPORTER_ASSERT(reporter, nativeContextInit);
- if (!nativeContextInit) {
- return;
- }
-
-#if SK_MESA
- // We must have a current OSMesa context to initialize an OSMesa
- // GrGLInterface
- SkMesaGLContext::AutoContextRestore mglACR;
- SkMesaGLContext mglctx;
- bool mesaContextInit = mglctx.init(kBogusSize, kBogusSize);
- REPORTER_ASSERT(reporter, mesaContextInit);
- if(!mesaContextInit) {
- return;
- }
-#endif
-
- SkAutoTUnref<const GrGLInterface> iface;
- for (size_t i = 0; i < SK_ARRAY_COUNT(interfaceFactories); ++i) {
- iface.reset(interfaceFactories[i].fFactory());
- REPORTER_ASSERT(reporter, NULL != iface.get());
- if (iface.get()) {
+static void GLInterfaceValidationTest(skiatest::Reporter* reporter, GrContextFactory* 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
+ factory->get(glCtxType);
+ SkGLContextHelper* glCtxHelper = factory->getGLContext(glCtxType);
+ REPORTER_ASSERT(reporter, NULL != glCtxHelper);
+ if (NULL != glCtxHelper) {
+ const GrGLInterface* interface = glCtxHelper->gl();
for (GrGLBinding binding = kFirstGrGLBinding;
binding <= kLastGrGLBinding;
binding = static_cast<GrGLBinding>(binding << 1)) {
- if (iface.get()->fBindingsExported & binding) {
- REPORTER_ASSERT(reporter, iface.get()->validate(binding));
+ if (interface->fBindingsExported & binding) {
+ REPORTER_ASSERT(reporter, interface->validate(binding));
}
}
}
@@ -90,8 +36,8 @@
#include "TestClassDef.h"
-DEFINE_TESTCLASS("GLInterfaceValidation",
- GLInterfaceValidationTestClass,
- GLInterfaceValidationTest)
+DEFINE_GPUTESTCLASS("GLInterfaceValidation",
+ GLInterfaceValidationTestClass,
+ GLInterfaceValidationTest)
#endif
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698