34 : fFormat(
format), fYcbcrConversionInfo(ycbcrInfo) {}
72 return fFormat == otherVk->fFormat &&
73 fYcbcrConversionInfo == otherVk->fYcbcrConversionInfo;
79#if defined(SK_DEBUG) || GR_TEST_UTILS
93 if (fYcbcrConversionInfo.
isValid()) {
139 *vkFormat = data->asVkFormat();
149 return data->getYcbcrConversionInfo();
174 return fMutableState;
195 if (fMutableState != otherVk->fMutableState) {
207 return fVkInfo.
fImage == otherVk->fVkInfo.fImage;
244 if ((
info.fYcbcrConversionInfo.isValid() &&
info.fYcbcrConversionInfo.fExternalFormat != 0) ||
264 if (
info.fImageUsageFlags == 0) {
277 std::string_view label) {
300 std::move(mutableState)));
341 return fMutableState;
367 if (fMutableState != otherVk->fMutableState) {
425 std::move(mutableState)));
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
static const GrGLBackendFormatData * get_and_cast_data(const GrBackendFormat &format)
static const VkImageUsageFlags kDefaultTexRTUsageFlags
static GrVkImageInfo apply_default_usage_flags(const GrVkImageInfo &info, VkImageUsageFlags defaultFlags)
static const VkImageUsageFlags kDefaultRTUsageFlags
static const GrVkBackendFormatData * get_and_cast_data(const GrBackendFormat &format)
static GrTextureType vk_image_info_to_texture_type(const GrVkImageInfo &info)
static const VkImageUsageFlags kDefaultUsageFlags
GrVkImageInfo GrVkImageInfoWithMutableState(const GrVkImageInfo &info, const skgpu::MutableTextureState *mutableState)
skgpu::VulkanYcbcrConversionInfo GrVkYcbcrConversionInfo
static constexpr GrColorFormatDesc GrVkFormatDesc(VkFormat vkFormat)
GrBackendApi backend() const
static GrBackendRenderTarget MakeGrBackendRenderTarget(int width, int height, int sampleCnt, int stencilBits, GrBackendApi backend, bool framebufferOnly, const RenderTargetData &data)
static GrBackendTexture MakeGrBackendTexture(int width, int height, std::string_view label, skgpu::Mipmapped mipped, GrBackendApi backend, GrTextureType texture, const TextureData &data)
static GrBackendFormat MakeGrBackendFormat(GrTextureType textureType, GrBackendApi api, const FormatData &data)
static const GrBackendFormatData * GetBackendData(const GrBackendFormat &format)
GrBackendApi backend() const
sk_sp< skgpu::MutableTextureState > getMutableState() const override
void copyTo(AnyRenderTargetData &rtData) const override
GrBackendFormat getBackendFormat() const override
void setMutableState(const skgpu::MutableTextureState &state) override
const GrVkImageInfo & info() const
bool isProtected() const override
GrVkBackendRenderTargetData(const GrVkImageInfo &info, sk_sp< skgpu::MutableTextureState > mutableState=nullptr)
const skgpu::MutableTextureState * mutableState() const
skgpu::MutableTextureState * mutableState()
bool equal(const GrBackendRenderTargetData *that) const override
GrVkBackendTextureData(const GrVkImageInfo &info, sk_sp< skgpu::MutableTextureState > mutableState=nullptr)
sk_sp< skgpu::MutableTextureState > getMutableState() const override
GrBackendFormat getBackendFormat() const override
bool isProtected() const override
bool isSameTexture(const GrBackendTextureData *that) const override
void setMutableState(const skgpu::MutableTextureState &state) override
bool equal(const GrBackendTextureData *that) const override
const skgpu::MutableTextureState * mutableState() const
const GrVkImageInfo & info() const
skgpu::MutableTextureState * mutableState()
void copyTo(AnyTextureData &textureData) const override
void emplace(Args &&... args)
void set(const MutableTextureState &that)
uint32_t uint32_t * format
SK_API bool GetVkImageInfo(const GrBackendRenderTarget &, GrVkImageInfo *)
SK_API void SetVkImageLayout(GrBackendRenderTarget *, VkImageLayout)
SK_API GrBackendRenderTarget MakeVk(int width, int height, const GrVkImageInfo &)
SK_API void SetVkImageLayout(GrBackendTexture *, VkImageLayout)
SK_API GrBackendTexture MakeVk(int width, int height, const GrVkImageInfo &, std::string_view label={})
SK_API bool GetVkImageInfo(const GrBackendTexture &, GrVkImageInfo *)
void SetVkImageLayout(MutableTextureState *state, VkImageLayout layout)
SK_API MutableTextureState MakeVulkan(VkImageLayout layout, uint32_t queueFamilyIndex)
static constexpr const char * VkFormatToStr(VkFormat vkFormat)
static constexpr int VkFormatStencilBits(VkFormat format)
static constexpr size_t VkFormatBytesPerBlock(VkFormat vkFormat)
static constexpr uint32_t VkFormatChannels(VkFormat vkFormat)
GrVkYcbcrConversionInfo fYcbcrConversionInfo
uint32_t fCurrentQueueFamily
skgpu::Protected fProtected
VkImageLayout fImageLayout
VkImageUsageFlags fImageUsageFlags
VkImageTiling fImageTiling
VkFlags VkImageUsageFlags
@ VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
@ VK_IMAGE_USAGE_TRANSFER_DST_BIT
@ VK_IMAGE_USAGE_SAMPLED_BIT
@ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
@ VK_IMAGE_USAGE_TRANSFER_SRC_BIT
@ VK_FORMAT_R8G8B8A8_UNORM
@ VK_FORMAT_BC1_RGB_UNORM_BLOCK
@ VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK
@ VK_FORMAT_BC1_RGBA_UNORM_BLOCK