skia2/gn
Christopher Cameron 186a295111 Change Metal to not take ownership of objects
Prior to this change, Skia/Metal interfaces take ownership of the Metal
objects passed in (that is, the caller should count passing the object
to Skia as "freeing" the object).

Change this behavior so that Skia/Metal retains its own separate
ownership of the Metal objects.

Make GrBackendTexture and GrBackendRenderTarget maintain their own
references to the underlying MTLTexture by using the CFRetain/CFRelease
interfaces. Do this by adding a private GrMtlBackendSurfaceInfo.

Move GrMtlBackendSurfaceInfo (formerly GrMtlTextureInfo) out of the
union in GrBackendTexture and GrBackendRenderTarget because unions
cannot have nontrivial constructors and destructors (how fVkInfo isn't
causing a compile error is unclear).

Change-Id: Iae3719c0715825d86503d03c766e47f0f6015bdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215685
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-05-25 01:53:25 +00:00
..
toolchain Updates to iOS build 2019-04-02 17:24:46 +00:00
__init__.py Make gn directory importable in python 2017-03-20 17:40:30 +00:00
ar.py GN: quiet alink spam on Mac 2016-11-07 14:19:32 +00:00
bench.gni SkShaper: new benchmarks 2019-05-03 14:22:35 +00:00
BUILD.gn Add thread safety annotations. 2019-05-10 13:40:38 +00:00
BUILDCONFIG.gn Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
call.py Add gn plumbing for mdbviz tool 2017-09-05 13:57:44 +00:00
checkdir.py Bundle resources and skps directories into iOS app. 2017-11-29 17:06:25 +00:00
codesign_ios.py Allow different identities for iOS code signing 2017-12-07 20:42:00 +00:00
compile_processors.py moved files generated from .fp files into generated/ directories 2019-04-10 18:02:02 +00:00
core.gni split RGB into YUV planes 2019-05-23 19:57:30 +00:00
cp.py GN: get Angle compiling on Windows. 2016-10-17 16:16:16 +00:00
create_sksl_enums.py Create sksl_enums.inc with UNIX line endings (even on Windows) 2018-02-09 15:13:11 +00:00
effects_imagefilters.gni GN: split out skia_*_public from skia_*_sources 2019-03-15 18:29:19 +00:00
effects.gni GN: split out skia_*_public from skia_*_sources 2019-03-15 18:29:19 +00:00
find_headers.py rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
find_ios_sysroot.py Add iOS simulator support in GN. 2017-03-13 17:21:43 +00:00
flutter_defines.gni Reduce opList splitting by default in Skia 2019-05-01 15:24:08 +00:00
fuchsia_defines.gni remove legacy hinting-enum guards 2018-11-28 20:15:03 +00:00
gen_plist_ios.py Add create_bundle support for GN 2017-11-28 15:29:07 +00:00
gm.gni GrTessellator: improved straight skeleton implementation. 2019-05-22 16:16:59 +00:00
gn_meta_sln.py Decorate project names with their relative path in the meta SLN 2018-06-01 19:22:08 +00:00
gn_to_bp_utils.py Revert "SKIA_IMPLEMENTATION is only relevant in shared builds" 2019-04-29 16:20:05 +00:00
gn_to_bp.py Remove skcms shim header 2019-05-01 20:25:14 +00:00
gn_to_cmake.py Add mm files to cmake sources 2019-04-05 13:07:32 +00:00
gpu.gni Change Metal to not take ownership of objects 2019-05-25 01:53:25 +00:00
highest_version_dir.py Filter Windows SDK and Compiler directories 2017-12-11 20:26:08 +00:00
is_clang.py GN: match shell behavior for cc and cxx in is_clang.py 2016-09-27 09:29:24 -07:00
make_gm_gni.py GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
opts.gni clean up SkBitmapProcState::platformProcs() 2018-12-03 21:24:31 +00:00
pdf.gni SkPDF: move type1 font code into single file 2019-04-18 21:01:58 +00:00
push_to_android.py skia_android_serial = "auto" 2017-01-12 16:30:17 +00:00
run_sksllex.py Revert "Revert "SkSL now supports null child processors"" 2019-02-22 17:50:30 +00:00
samples.gni Remove Nima from DEPS, experiments, Viewer, etc. 2019-05-16 17:02:11 +00:00
shared_sources.gni remove empty skia_for_chromium_defines 2019-01-17 17:37:01 +00:00
skia.gni Make SkShaper's GN setup more DLL friendly 2019-04-10 18:59:35 +00:00
sksl.gni Avoid multiplication by alpha in fragment shader when known to be 1. 2019-04-16 14:03:04 +00:00
tests.gni Direct backend object allocation API 2019-05-17 12:14:48 +00:00
utils.gni Reland "SkShaper JSON output with cluster visualization" 2019-05-03 15:48:46 +00:00
xps.gni GN: split out skia_*_public from skia_*_sources 2019-03-15 18:29:19 +00:00