/* * Copyright 2018 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef GrMtlCppUtil_DEFINED #define GrMtlCppUtil_DEFINED #include "include/core/SkImage.h" #include "include/gpu/mtl/GrMtlTypes.h" #include "include/private/GrTypesPriv.h" class GrBackendFormat; // Utilities that can be used from cpp files (rather than .mm). GrMTLPixelFormat GrGetMTLPixelFormatFromMtlTextureInfo(const GrMtlTextureInfo&); size_t GrMtlBackendFormatBytesPerBlock(const GrBackendFormat& format); int GrMtlBackendFormatStencilBits(const GrBackendFormat& format); uint32_t GrMtlFormatChannels(GrMTLPixelFormat); GrColorFormatDesc GrMtlFormatDesc(GrMTLPixelFormat); SkImage::CompressionType GrMtlBackendFormatToCompressionType(const GrBackendFormat& format); /** * Gets the sample count of a texture held by GrMtlTextureInfo or zero if the texture is nil. */ int GrMtlTextureInfoSampleCount(const GrMtlTextureInfo&); #if defined(SK_DEBUG) || GR_TEST_UTILS const char* GrMtlFormatToStr(GrMTLPixelFormat mtlFormat); bool GrMtlFormatIsBGRA8(GrMTLPixelFormat mtlFormat); #endif #endif