| /* |
| * Copyright 2024 Google LLC |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #import "graphite_metal_context_helper.h" |
| |
| #import "include/ports/SkCFObject.h" |
| |
| #import <Metal/Metal.h> |
| |
| skgpu::graphite::MtlBackendContext GetMetalContext() { |
| skgpu::graphite::MtlBackendContext backendContext = {}; |
| sk_cfp<id<MTLDevice>> device; |
| device.reset(MTLCreateSystemDefaultDevice()); |
| |
| sk_cfp<id<MTLCommandQueue>> queue; |
| queue.reset([*device newCommandQueue]); |
| |
| backendContext.fDevice.retain((CFTypeRef)device.get()); |
| backendContext.fQueue.retain((CFTypeRef)queue.get()); |
| return backendContext; |
| } |