8#ifndef skgpu_graphite_MtlComputePipeline_DEFINED
9#define skgpu_graphite_MtlComputePipeline_DEFINED
15#import <Metal/Metal.h>
19class ComputePipelineDesc;
21class MtlSharedContext;
28 const std::string& label,
37 , fPipelineState(
std::move(pso)) {}
39 void freeGpuData()
override;
41 sk_cfp<id<MTLComputePipelineState>> fPipelineState;
std::pair< id< MTLLibrary >, std::string > MSLFunction
static sk_sp< MtlComputePipeline > Make(const MtlSharedContext *, const std::string &label, MSLFunction computeMain)
id< MTLComputePipelineState > mtlPipelineState() const
~MtlComputePipeline() override=default
const SharedContext * sharedContext() const