Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
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/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 GrVkYcbcrConversionInfo &ycbcrInfo, bool willUseDRMFormatModifiers=false)
 
SK_API bool GrBackendFormats::AsVkFormat (const GrBackendFormat &, VkFormat *)
 
SK_API const GrVkYcbcrConversionInfoGrBackendFormats::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={})
 
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 &)
 
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 262 of file GrVkBackendSurface.cpp.

263 {
264 if (info.fImageUsageFlags == 0) {
265 GrVkImageInfo newInfo = info;
266 newInfo.fImageUsageFlags = defaultFlags;
267 return newInfo;
268 }
269 return info;
270}
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 107 of file GrVkBackendSurface.cpp.

107 {
109 SkASSERT(!data || data->type() == GrBackendApi::kVulkan);
110 return static_cast<const GrVkBackendFormatData*>(data);
111}
#define SkASSERT(cond)
Definition SkAssert.h:116
static const GrBackendFormatData * GetBackendData(const GrBackendFormat &format)
uint32_t uint32_t * format
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot data
Definition switches.h:41

◆ get_and_cast_data() [2/5]

static const GrVkBackendRenderTargetData * get_and_cast_data ( const GrBackendRenderTarget rt)
static

Definition at line 388 of file GrVkBackendSurface.cpp.

388 {
390 SkASSERT(!data || data->type() == GrBackendApi::kVulkan);
391 return static_cast<const GrVkBackendRenderTargetData*>(data);
392}

◆ get_and_cast_data() [3/5]

static const GrVkBackendTextureData * get_and_cast_data ( const GrBackendTexture texture)
static

Definition at line 231 of file GrVkBackendSurface.cpp.

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

◆ get_and_cast_data() [4/5]

static GrVkBackendRenderTargetData * get_and_cast_data ( GrBackendRenderTarget rt)
static

Definition at line 394 of file GrVkBackendSurface.cpp.

394 {
396 SkASSERT(!data || data->type() == GrBackendApi::kVulkan);
397 return static_cast<GrVkBackendRenderTargetData*>(data);
398}

◆ get_and_cast_data() [5/5]

static GrVkBackendTextureData * get_and_cast_data ( GrBackendTexture texture)
static

Definition at line 237 of file GrVkBackendSurface.cpp.

237 {
239 SkASSERT(!data || data->type() == GrBackendApi::kVulkan);
240 return static_cast<GrVkBackendTextureData*>(data);
241}

◆ vk_image_info_to_texture_type()

static GrTextureType vk_image_info_to_texture_type ( const GrVkImageInfo info)
static

Definition at line 243 of file GrVkBackendSurface.cpp.

243 {
244 if ((info.fYcbcrConversionInfo.isValid() && info.fYcbcrConversionInfo.fExternalFormat != 0) ||
247 }
248 return GrTextureType::k2D;
249}
@ VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT

Variable Documentation

◆ kDefaultRTUsageFlags

const VkImageUsageFlags kDefaultRTUsageFlags
static
Initial value:
=
static const VkImageUsageFlags kDefaultUsageFlags
@ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT

Definition at line 254 of file GrVkBackendSurface.cpp.

◆ kDefaultTexRTUsageFlags

const VkImageUsageFlags kDefaultTexRTUsageFlags
static

◆ kDefaultUsageFlags

const VkImageUsageFlags kDefaultUsageFlags
static
Initial value:

Definition at line 251 of file GrVkBackendSurface.cpp.