8#ifndef skgpu_MtlUtilsPriv_DEFINED
9#define skgpu_MtlUtilsPriv_DEFINED
11#import <Metal/Metal.h>
20struct ProgramInterface;
21struct ProgramSettings;
28class ShaderErrorHandler;
31 const std::string& sksl,
bool ToMetal(Program &program, const ShaderCaps *caps, OutputStream &out)
uint32_t MtlFormatChannels(MTLPixelFormat mtlFormat)
bool SkSLToMSL(const SkSL::ShaderCaps *caps, const std::string &sksl, SkSL::ProgramKind programKind, const SkSL::ProgramSettings &settings, std::string *msl, SkSL::ProgramInterface *outInterface, ShaderErrorHandler *errorHandler)
const char * MtlFormatToString(MTLPixelFormat mtlFormat)
bool SkSLToBackend(const SkSL::ShaderCaps *caps, bool(*toBackend)(SkSL::Program &, const SkSL::ShaderCaps *, std::string *), const char *backendLabel, const std::string &sksl, SkSL::ProgramKind programKind, const SkSL::ProgramSettings &settings, std::string *output, SkSL::ProgramInterface *outInterface, ShaderErrorHandler *errorHandler)
bool MtlFormatIsStencil(MTLPixelFormat format)
bool MtlFormatIsDepthOrStencil(MTLPixelFormat format)
bool MtlFormatIsDepth(MTLPixelFormat format)
SkTextureCompressionType MtlFormatToCompressionType(MTLPixelFormat mtlFormat)
bool MtlFormatIsCompressed(MTLPixelFormat mtlFormat)
size_t MtlFormatBytesPerBlock(MTLPixelFormat mtlFormat)