1*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:skia_rules.bzl", "skia_filegroup", "skia_objc_library", "split_srcs_and_hdrs") 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workerpackage( 4*c8dee2aaSAndroid Build Coastguard Worker default_applicable_licenses = ["//:license"], 5*c8dee2aaSAndroid Build Coastguard Worker) 6*c8dee2aaSAndroid Build Coastguard Worker 7*c8dee2aaSAndroid Build Coastguard Workerlicenses(["notice"]) 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Worker# A list of files that is included by C++ files, but whose 10*c8dee2aaSAndroid Build Coastguard Worker# implementation resides in .mm files. The latter may need to 11*c8dee2aaSAndroid Build Coastguard Worker# be compiled separately (e.g. with Automatic Reference Counting [ARC]). 12*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup( 13*c8dee2aaSAndroid Build Coastguard Worker name = "mtl_cpp_hdrs", 14*c8dee2aaSAndroid Build Coastguard Worker srcs = [ 15*c8dee2aaSAndroid Build Coastguard Worker "GrMtlCppUtil.h", 16*c8dee2aaSAndroid Build Coastguard Worker "GrMtlTrampoline.h", 17*c8dee2aaSAndroid Build Coastguard Worker ], 18*c8dee2aaSAndroid Build Coastguard Worker) 19*c8dee2aaSAndroid Build Coastguard Worker 20*c8dee2aaSAndroid Build Coastguard WorkerMTL_FILES = [ 21*c8dee2aaSAndroid Build Coastguard Worker "GrMtlAttachment.h", 22*c8dee2aaSAndroid Build Coastguard Worker "GrMtlAttachment.mm", 23*c8dee2aaSAndroid Build Coastguard Worker "GrMtlBackendSemaphore.mm", 24*c8dee2aaSAndroid Build Coastguard Worker "GrMtlBackendSurface.mm", 25*c8dee2aaSAndroid Build Coastguard Worker "GrMtlBuffer.h", 26*c8dee2aaSAndroid Build Coastguard Worker "GrMtlBuffer.mm", 27*c8dee2aaSAndroid Build Coastguard Worker "GrMtlCaps.h", 28*c8dee2aaSAndroid Build Coastguard Worker "GrMtlCaps.mm", 29*c8dee2aaSAndroid Build Coastguard Worker "GrMtlCommandBuffer.h", 30*c8dee2aaSAndroid Build Coastguard Worker "GrMtlCommandBuffer.mm", 31*c8dee2aaSAndroid Build Coastguard Worker "GrMtlDepthStencil.h", 32*c8dee2aaSAndroid Build Coastguard Worker "GrMtlDepthStencil.mm", 33*c8dee2aaSAndroid Build Coastguard Worker "GrMtlDirectContext.mm", 34*c8dee2aaSAndroid Build Coastguard Worker "GrMtlFramebuffer.h", 35*c8dee2aaSAndroid Build Coastguard Worker "GrMtlFramebuffer.mm", 36*c8dee2aaSAndroid Build Coastguard Worker "GrMtlGpu.h", 37*c8dee2aaSAndroid Build Coastguard Worker "GrMtlGpu.mm", 38*c8dee2aaSAndroid Build Coastguard Worker "GrMtlOpsRenderPass.h", 39*c8dee2aaSAndroid Build Coastguard Worker "GrMtlOpsRenderPass.mm", 40*c8dee2aaSAndroid Build Coastguard Worker "GrMtlPipeline.h", 41*c8dee2aaSAndroid Build Coastguard Worker "GrMtlPipelineState.h", 42*c8dee2aaSAndroid Build Coastguard Worker "GrMtlPipelineState.mm", 43*c8dee2aaSAndroid Build Coastguard Worker "GrMtlPipelineStateBuilder.h", 44*c8dee2aaSAndroid Build Coastguard Worker "GrMtlPipelineStateBuilder.mm", 45*c8dee2aaSAndroid Build Coastguard Worker "GrMtlPipelineStateDataManager.h", 46*c8dee2aaSAndroid Build Coastguard Worker "GrMtlPipelineStateDataManager.mm", 47*c8dee2aaSAndroid Build Coastguard Worker "GrMtlRenderCommandEncoder.h", 48*c8dee2aaSAndroid Build Coastguard Worker "GrMtlRenderTarget.h", 49*c8dee2aaSAndroid Build Coastguard Worker "GrMtlRenderTarget.mm", 50*c8dee2aaSAndroid Build Coastguard Worker "GrMtlResourceProvider.h", 51*c8dee2aaSAndroid Build Coastguard Worker "GrMtlResourceProvider.mm", 52*c8dee2aaSAndroid Build Coastguard Worker "GrMtlSampler.h", 53*c8dee2aaSAndroid Build Coastguard Worker "GrMtlSampler.mm", 54*c8dee2aaSAndroid Build Coastguard Worker "GrMtlSemaphore.h", 55*c8dee2aaSAndroid Build Coastguard Worker "GrMtlSemaphore.mm", 56*c8dee2aaSAndroid Build Coastguard Worker "GrMtlTexture.h", 57*c8dee2aaSAndroid Build Coastguard Worker "GrMtlTexture.mm", 58*c8dee2aaSAndroid Build Coastguard Worker "GrMtlTextureRenderTarget.h", 59*c8dee2aaSAndroid Build Coastguard Worker "GrMtlTextureRenderTarget.mm", 60*c8dee2aaSAndroid Build Coastguard Worker "GrMtlTrampoline.mm", 61*c8dee2aaSAndroid Build Coastguard Worker "GrMtlTypesPriv.h", 62*c8dee2aaSAndroid Build Coastguard Worker "GrMtlTypesPriv.mm", 63*c8dee2aaSAndroid Build Coastguard Worker "GrMtlUniformHandler.h", 64*c8dee2aaSAndroid Build Coastguard Worker "GrMtlUniformHandler.mm", 65*c8dee2aaSAndroid Build Coastguard Worker "GrMtlUtil.h", 66*c8dee2aaSAndroid Build Coastguard Worker "GrMtlUtil.mm", 67*c8dee2aaSAndroid Build Coastguard Worker "GrMtlVaryingHandler.h", 68*c8dee2aaSAndroid Build Coastguard Worker "GrMtlVaryingHandler.mm", 69*c8dee2aaSAndroid Build Coastguard Worker] 70*c8dee2aaSAndroid Build Coastguard Worker 71*c8dee2aaSAndroid Build Coastguard Workersplit_srcs_and_hdrs( 72*c8dee2aaSAndroid Build Coastguard Worker name = "mtl", 73*c8dee2aaSAndroid Build Coastguard Worker files = MTL_FILES, 74*c8dee2aaSAndroid Build Coastguard Worker) 75*c8dee2aaSAndroid Build Coastguard Worker 76*c8dee2aaSAndroid Build Coastguard Workerskia_objc_library( 77*c8dee2aaSAndroid Build Coastguard Worker name = "ganesh_metal", 78*c8dee2aaSAndroid Build Coastguard Worker srcs = [ 79*c8dee2aaSAndroid Build Coastguard Worker ":mtl_cpp_hdrs", 80*c8dee2aaSAndroid Build Coastguard Worker ":mtl_hdrs", 81*c8dee2aaSAndroid Build Coastguard Worker ":mtl_srcs", 82*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/surface:mtl_objc_srcs", 83*c8dee2aaSAndroid Build Coastguard Worker ], 84*c8dee2aaSAndroid Build Coastguard Worker hdrs = [ 85*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu:shared_gpu_hdrs", 86*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/ganesh:ganesh_hdrs", 87*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/ganesh/mtl:public_hdrs", 88*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/mtl:public_hdrs", 89*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:core_foundation_hdrs", 90*c8dee2aaSAndroid Build Coastguard Worker ], 91*c8dee2aaSAndroid Build Coastguard Worker copts = ["-fobjc-arc"], 92*c8dee2aaSAndroid Build Coastguard Worker defines = ["SK_METAL"], 93*c8dee2aaSAndroid Build Coastguard Worker sdk_frameworks = [ 94*c8dee2aaSAndroid Build Coastguard Worker "Metal", 95*c8dee2aaSAndroid Build Coastguard Worker "MetalKit", 96*c8dee2aaSAndroid Build Coastguard Worker "Foundation", 97*c8dee2aaSAndroid Build Coastguard Worker ], 98*c8dee2aaSAndroid Build Coastguard Worker visibility = ["//:__pkg__"], 99*c8dee2aaSAndroid Build Coastguard Worker deps = [ 100*c8dee2aaSAndroid Build Coastguard Worker "//:core", 101*c8dee2aaSAndroid Build Coastguard Worker "//src/base", 102*c8dee2aaSAndroid Build Coastguard Worker "//src/core:core_priv", 103*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu", 104*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh", 105*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/mtl:gpu_mtl", 106*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:metal", 107*c8dee2aaSAndroid Build Coastguard Worker ], 108*c8dee2aaSAndroid Build Coastguard Worker) 109*c8dee2aaSAndroid Build Coastguard Worker 110*c8dee2aaSAndroid Build Coastguard Workerskia_objc_library( 111*c8dee2aaSAndroid Build Coastguard Worker name = "ganesh_metal_TEST_UTIL", 112*c8dee2aaSAndroid Build Coastguard Worker testonly = True, 113*c8dee2aaSAndroid Build Coastguard Worker srcs = [ 114*c8dee2aaSAndroid Build Coastguard Worker ":mtl_cpp_hdrs", 115*c8dee2aaSAndroid Build Coastguard Worker ":mtl_hdrs", 116*c8dee2aaSAndroid Build Coastguard Worker ":mtl_srcs", 117*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh/surface:mtl_objc_srcs", 118*c8dee2aaSAndroid Build Coastguard Worker ], 119*c8dee2aaSAndroid Build Coastguard Worker hdrs = [ 120*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu:shared_gpu_hdrs", 121*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/ganesh:ganesh_hdrs", 122*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/ganesh/mtl:public_hdrs", 123*c8dee2aaSAndroid Build Coastguard Worker "//include/gpu/mtl:public_hdrs", 124*c8dee2aaSAndroid Build Coastguard Worker "//include/ports:core_foundation_hdrs", 125*c8dee2aaSAndroid Build Coastguard Worker ], 126*c8dee2aaSAndroid Build Coastguard Worker copts = ["-fobjc-arc"], 127*c8dee2aaSAndroid Build Coastguard Worker defines = ["SK_METAL"], 128*c8dee2aaSAndroid Build Coastguard Worker sdk_frameworks = [ 129*c8dee2aaSAndroid Build Coastguard Worker "Metal", 130*c8dee2aaSAndroid Build Coastguard Worker "MetalKit", 131*c8dee2aaSAndroid Build Coastguard Worker "Foundation", 132*c8dee2aaSAndroid Build Coastguard Worker ], 133*c8dee2aaSAndroid Build Coastguard Worker visibility = ["//tools/window:__pkg__"], 134*c8dee2aaSAndroid Build Coastguard Worker deps = [ 135*c8dee2aaSAndroid Build Coastguard Worker "//:core", 136*c8dee2aaSAndroid Build Coastguard Worker "//src/base", 137*c8dee2aaSAndroid Build Coastguard Worker "//src/core:core_priv", 138*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu", 139*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/ganesh:ganesh_TEST_UTIL", 140*c8dee2aaSAndroid Build Coastguard Worker "//src/gpu/mtl:gpu_mtl", 141*c8dee2aaSAndroid Build Coastguard Worker "//src/sksl/codegen:metal", 142*c8dee2aaSAndroid Build Coastguard Worker ], 143*c8dee2aaSAndroid Build Coastguard Worker) 144