Add a ValidationContext class helper.
This class is a wrapper around gl::Data, aka the metadata describing
a gl::Context. We can use it for unit-testing validation functions
by passing that through the validation methods instead of a Context,
and using mocks to expect certain errors.
BUG=angleproject:747
BUG=angleproject:597
Change-Id: I7bd85c7662860ba9a3a13406579a088d447e5631
Reviewed-on: https://chromium-review.googlesource.com/309637
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Data.cpp b/src/libANGLE/Data.cpp
index fc9e001..57657c4 100644
--- a/src/libANGLE/Data.cpp
+++ b/src/libANGLE/Data.cpp
@@ -18,18 +18,37 @@
const Caps &capsIn,
const TextureCapsMap &textureCapsIn,
const Extensions &extensionsIn,
- const ResourceManager *resourceManagerIn)
+ const ResourceManager *resourceManagerIn,
+ const Limitations &limitationsIn)
: context(contextIn),
clientVersion(clientVersionIn),
state(&stateIn),
caps(&capsIn),
textureCaps(&textureCapsIn),
extensions(&extensionsIn),
- resourceManager(resourceManagerIn)
+ resourceManager(resourceManagerIn),
+ limitations(&limitationsIn)
{}
Data::~Data()
{
}
+ValidationContext::ValidationContext(GLint clientVersion,
+ const State &state,
+ const Caps &caps,
+ const TextureCapsMap &textureCaps,
+ const Extensions &extensions,
+ const ResourceManager *resourceManager,
+ const Limitations &limitations)
+ : mData(reinterpret_cast<uintptr_t>(this),
+ clientVersion,
+ state,
+ caps,
+ textureCaps,
+ extensions,
+ resourceManager,
+ limitations)
+{
+}
}