Flutter Engine
The Flutter Engine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Namespaces | Functions | Variables
GrVkBackendSurface.cpp File Reference
#include "include/gpu/ganesh/vk/GrVkBackendSurface.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkTextureCompressionType.h"
#include "include/gpu/GpuTypes.h"
#include "include/gpu/GrBackendSurface.h"
#include "include/gpu/GrTypes.h"
#include "include/gpu/MutableTextureState.h"
#include "include/gpu/vk/GrVkTypes.h"
#include "include/gpu/vk/VulkanMutableTextureState.h"
#include "include/gpu/vk/VulkanTypes.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTo.h"
#include "include/private/gpu/ganesh/GrTypesPriv.h"
#include "src/gpu/ganesh/GrBackendSurfacePriv.h"
#include "src/gpu/ganesh/vk/GrVkTypesPriv.h"
#include "src/gpu/ganesh/vk/GrVkUtil.h"
#include "src/gpu/vk/VulkanMutableTextureStatePriv.h"
#include "src/gpu/vk/VulkanUtilsPriv.h"
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <string>

Go to the source code of this file.

Classes

class  GrVkBackendFormatData
 
class  GrVkBackendTextureData
 
class  GrVkBackendRenderTargetData
 

Namespaces

namespace  GrBackendFormats
 
namespace  GrBackendTextures
 
namespace  GrBackendRenderTargets
 

Functions

static const GrVkBackendFormatDataget_and_cast_data (const GrBackendFormat &format)
 
SK_API GrBackendFormat GrBackendFormats::MakeVk (VkFormat format, bool willUseDRMFormatModifiers=false)
 
SK_API GrBackendFormat GrBackendFormats::MakeVk (const skgpu::VulkanYcbcrConversionInfo &ycbcrInfo, bool willUseDRMFormatModifiers=false)
 
SK_API bool GrBackendFormats::AsVkFormat (const GrBackendFormat &, VkFormat *)
 
SK_API const skgpu::VulkanYcbcrConversionInfoGrBackendFormats::GetVkYcbcrConversionInfo (const GrBackendFormat &)
 
static const GrVkBackendTextureDataget_and_cast_data (const GrBackendTexture &texture)
 
static GrVkBackendTextureDataget_and_cast_data (GrBackendTexture *texture)
 
static GrTextureType vk_image_info_to_texture_type (const GrVkImageInfo &info)
 
static GrVkImageInfo apply_default_usage_flags (const GrVkImageInfo &info, VkImageUsageFlags defaultFlags)
 
SK_API GrBackendTexture GrBackendTextures::MakeVk (int width, int height, const GrVkImageInfo &, std::string_view label={})
 
GrBackendTexture GrBackendTextures::MakeVk (int width, int height, const GrVkImageInfo &vkInfo, sk_sp< skgpu::MutableTextureState > mutableState)
 
SK_API bool GrBackendTextures::GetVkImageInfo (const GrBackendTexture &, GrVkImageInfo *)
 
SK_API void GrBackendTextures::SetVkImageLayout (GrBackendTexture *, VkImageLayout)
 
static const GrVkBackendRenderTargetDataget_and_cast_data (const GrBackendRenderTarget &rt)
 
static GrVkBackendRenderTargetDataget_and_cast_data (GrBackendRenderTarget *rt)
 
SK_API GrBackendRenderTarget GrBackendRenderTargets::MakeVk (int width, int height, const GrVkImageInfo &)
 
GrBackendRenderTarget GrBackendRenderTargets::MakeVk (int width, int height, const GrVkImageInfo &vkInfo, sk_sp< skgpu::MutableTextureState > mutableState)
 
SK_API bool GrBackendRenderTargets::GetVkImageInfo (const GrBackendRenderTarget &, GrVkImageInfo *)
 
SK_API void GrBackendRenderTargets::SetVkImageLayout (GrBackendRenderTarget *, VkImageLayout)
 

Variables

static const VkImageUsageFlags kDefaultUsageFlags
 
static const VkImageUsageFlags kDefaultRTUsageFlags
 
static const VkImageUsageFlags kDefaultTexRTUsageFlags
 

Function Documentation

◆ apply_default_usage_flags()

static GrVkImageInfo apply_default_usage_flags ( const GrVkImageInfo info,
VkImageUsageFlags  defaultFlags 
)
static

Definition at line 266 of file GrVkBackendSurface.cpp.

267 {
268 if (info.fImageUsageFlags == 0) {
269 GrVkImageInfo newInfo = info;
270 newInfo.fImageUsageFlags = defaultFlags;
271 return newInfo;
272 }
273 return info;
274}
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
Definition: DM.cpp:213
VkImageUsageFlags fImageUsageFlags
Definition: GrVkTypes.h:31

◆ get_and_cast_data() [1/5]

static const GrVkBackendFormatData * get_and_cast_data ( const GrBackendFormat format)
static

Definition at line 110 of file GrVkBackendSurface.cpp.

110 {
112 SkASSERT(!data || data->type() == GrBackendApi::kVulkan);
113 return static_cast<const GrVkBackendFormatData*>(data);
114}
#define SkASSERT(cond)
Definition: SkAssert.h:116
static const GrBackendFormatData * GetBackendData(const GrBackendFormat &format)
uint32_t uint32_t * format
std::shared_ptr< const fml::Mapping > data
Definition: texture_gles.cc:63

◆ get_and_cast_data() [2/5]

static const GrVkBackendRenderTargetData * get_and_cast_data ( const GrBackendRenderTarget rt)
static

Definition at line 392 of file GrVkBackendSurface.cpp.

◆ get_and_cast_data() [3/5]

static const GrVkBackendTextureData * get_and_cast_data ( const GrBackendTexture texture)
static

Definition at line 235 of file GrVkBackendSurface.cpp.

235 {
237 SkASSERT(!data || data->type() == GrBackendApi::kVulkan);
238 return static_cast<const GrVkBackendTextureData*>(data);
239}
FlTexture * texture

◆ get_and_cast_data() [4/5]

static GrVkBackendRenderTargetData * get_and_cast_data ( GrBackendRenderTarget rt)
static

Definition at line 398 of file GrVkBackendSurface.cpp.

398 {
400 SkASSERT(!data || data->type() == GrBackendApi::kVulkan);
401 return static_cast<GrVkBackendRenderTargetData*>(data);
402}

◆ get_and_cast_data() [5/5]

static GrVkBackendTextureData * get_and_cast_data ( GrBackendTexture texture)
static

Definition at line 241 of file GrVkBackendSurface.cpp.

241 {
243 SkASSERT(!data || data->type() == GrBackendApi::kVulkan);
244 return static_cast<GrVkBackendTextureData*>(data);
245}

◆ vk_image_info_to_texture_type()

static GrTextureType vk_image_info_to_texture_type ( const GrVkImageInfo info)
static

Definition at line 247 of file GrVkBackendSurface.cpp.

247 {
248 if ((info.fYcbcrConversionInfo.isValid() && info.fYcbcrConversionInfo.fExternalFormat != 0) ||
251 }
252 return GrTextureType::k2D;
253}
@ VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
Definition: vulkan_core.h:1769

Variable Documentation

◆ kDefaultRTUsageFlags

const VkImageUsageFlags kDefaultRTUsageFlags
static
Initial value:
=
static const VkImageUsageFlags kDefaultUsageFlags
@ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
Definition: vulkan_core.h:2356

Definition at line 258 of file GrVkBackendSurface.cpp.

◆ kDefaultTexRTUsageFlags

const VkImageUsageFlags kDefaultTexRTUsageFlags
static

◆ kDefaultUsageFlags

const VkImageUsageFlags kDefaultUsageFlags
static
Initial value:

Definition at line 255 of file GrVkBackendSurface.cpp.