Store context options on caps.
Review URL: https://codereview.chromium.org/1158433006
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
index f4ca6c4..3ed0b6b 100755
--- a/src/gpu/GrContext.cpp
+++ b/src/gpu/GrContext.cpp
@@ -15,6 +15,7 @@
#include "GrBatchTarget.h"
#include "GrBatchTest.h"
#include "GrCaps.h"
+#include "GrContextOptions.h"
#include "GrDefaultGeoProcFactory.h"
#include "GrGpuResource.h"
#include "GrGpuResourcePriv.h"
@@ -70,16 +71,16 @@
GrContext* fContext;
};
-GrContext* GrContext::Create(GrBackend backend, GrBackendContext backendContext,
- const Options* opts) {
- GrContext* context;
- if (NULL == opts) {
- context = SkNEW_ARGS(GrContext, (Options()));
- } else {
- context = SkNEW_ARGS(GrContext, (*opts));
- }
+GrContext* GrContext::Create(GrBackend backend, GrBackendContext backendContext) {
+ GrContextOptions defaultOptions;
+ return Create(backend, backendContext, defaultOptions);
+}
- if (context->init(backend, backendContext)) {
+GrContext* GrContext::Create(GrBackend backend, GrBackendContext backendContext,
+ const GrContextOptions& options) {
+ GrContext* context = SkNEW(GrContext);
+
+ if (context->init(backend, backendContext, options)) {
return context;
} else {
context->unref();
@@ -96,7 +97,7 @@
return id;
}
-GrContext::GrContext(const Options& opts) : fOptions(opts), fUniqueID(next_id()) {
+GrContext::GrContext() : fUniqueID(next_id()) {
fGpu = NULL;
fResourceCache = NULL;
fResourceProvider = NULL;
@@ -110,10 +111,11 @@
fMaxTextureSizeOverride = 1 << 20;
}
-bool GrContext::init(GrBackend backend, GrBackendContext backendContext) {
+bool GrContext::init(GrBackend backend, GrBackendContext backendContext,
+ const GrContextOptions& options) {
SkASSERT(NULL == fGpu);
- fGpu = GrGpu::Create(backend, backendContext, this);
+ fGpu = GrGpu::Create(backend, backendContext, options, this);
if (NULL == fGpu) {
return false;
}