aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--BUILD.gn4
-rw-r--r--gn/BUILD.gn5
-rw-r--r--gn/toolchain/BUILD.gn2
-rw-r--r--src/gpu/mtl/GrMtlGpu.mm4
-rw-r--r--tools/gpu/gl/iOS/CreatePlatformGLTestContext_iOS.mm13
5 files changed, 20 insertions, 8 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 7be16ef514..26eeb95d29 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -531,10 +531,12 @@ optional("gpu") {
public_defines += [ "SK_ENABLE_SPIRV_VALIDATION" ]
}
+ cflags_objcc = []
if (skia_use_metal) {
public_defines += [ "SK_METAL" ]
sources += skia_metal_sources
libs += [ "Metal.framework" ]
+ cflags_objcc += [ "-fobjc-arc" ]
}
}
@@ -973,6 +975,8 @@ if (skia_enable_tools) {
]
}
+ cflags_objcc = [ "-fobjc-arc" ]
+
if (skia_use_angle) {
deps += [ "//third_party/angle2" ]
sources += [ "tools/gpu/gl/angle/GLTestContext_angle.cpp" ]
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index d275bd6685..71475a8110 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -263,6 +263,7 @@ config("warnings") {
cflags = []
cflags_cc = []
cflags_objc = []
+ cflags_objcc = []
if (is_win) {
cflags += [
"/W3", # Turn on lots of warnings.
@@ -356,6 +357,10 @@ config("warnings") {
"-Wno-direct-ivar-access",
"-Wno-objc-interface-ivars",
]
+ cflags_objcc += [
+ "-Wno-direct-ivar-access",
+ "-Wno-objcc-interface-ivars",
+ ]
}
}
}
diff --git a/gn/toolchain/BUILD.gn b/gn/toolchain/BUILD.gn
index a4c13a7d69..55778effe8 100644
--- a/gn/toolchain/BUILD.gn
+++ b/gn/toolchain/BUILD.gn
@@ -210,7 +210,7 @@ template("gcc_like_toolchain") {
tool("objcxx") {
depfile = "{{output}}.d"
- command = "$cc_wrapper $cxx -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} {{cflags_objc}} -c {{source}} -o {{output}}"
+ command = "$cc_wrapper $cxx -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} {{cflags_objcc}} -c {{source}} -o {{output}}"
depsformat = "gcc"
outputs = [
"{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o",
diff --git a/src/gpu/mtl/GrMtlGpu.mm b/src/gpu/mtl/GrMtlGpu.mm
index c19dcdf098..7d9339cf29 100644
--- a/src/gpu/mtl/GrMtlGpu.mm
+++ b/src/gpu/mtl/GrMtlGpu.mm
@@ -7,6 +7,10 @@
#include "GrMtlGpu.h"
+#if !__has_feature(objc_arc)
+#error This file must be compiled with Arc. Use -fobjc-arc flag
+#endif
+
GrGpu* GrMtlGpu::Create(GrBackendContext backendContext, const GrContextOptions& options,
GrContext* context) {
return nullptr;
diff --git a/tools/gpu/gl/iOS/CreatePlatformGLTestContext_iOS.mm b/tools/gpu/gl/iOS/CreatePlatformGLTestContext_iOS.mm
index 954e88e538..1fd50d1e1a 100644
--- a/tools/gpu/gl/iOS/CreatePlatformGLTestContext_iOS.mm
+++ b/tools/gpu/gl/iOS/CreatePlatformGLTestContext_iOS.mm
@@ -26,7 +26,7 @@ private:
void onPlatformSwapBuffers() const override;
GrGLFuncPtr onPlatformGetProcAddress(const char*) const override;
- void* fEAGLContext;
+ EAGLContext* fEAGLContext;
void* fGLLibrary;
};
@@ -35,13 +35,13 @@ IOSGLTestContext::IOSGLTestContext(IOSGLTestContext* shareContext)
, fGLLibrary(RTLD_DEFAULT) {
if (shareContext) {
- EAGLContext* iosShareContext = (EAGLContext*)(shareContext->fEAGLContext);
+ EAGLContext* iosShareContext = shareContext->fEAGLContext;
fEAGLContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2
sharegroup: [iosShareContext sharegroup]];
} else {
fEAGLContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
}
- [EAGLContext setCurrentContext:EAGLCTX];
+ [EAGLContext setCurrentContext:fEAGLContext];
sk_sp<const GrGLInterface> gl(GrGLCreateNativeInterface());
if (NULL == gl.get()) {
@@ -69,11 +69,10 @@ IOSGLTestContext::~IOSGLTestContext() {
void IOSGLTestContext::destroyGLContext() {
if (fEAGLContext) {
- if ([EAGLContext currentContext] == EAGLCTX) {
+ if ([EAGLContext currentContext] == fEAGLContext) {
[EAGLContext setCurrentContext:nil];
}
- [EAGLCTX release];
- fEAGLContext = NULL;
+ fEAGLContext = nil;
}
if (RTLD_DEFAULT != fGLLibrary) {
dlclose(fGLLibrary);
@@ -82,7 +81,7 @@ void IOSGLTestContext::destroyGLContext() {
void IOSGLTestContext::onPlatformMakeCurrent() const {
- if (![EAGLContext setCurrentContext:EAGLCTX]) {
+ if (![EAGLContext setCurrentContext:fEAGLContext]) {
SkDebugf("Could not set the context.\n");
}
}