Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
GrVkBackendFormatData Class Referencefinal
Inheritance diagram for GrVkBackendFormatData:
GrBackendFormatData

Public Member Functions

 GrVkBackendFormatData (VkFormat format, const GrVkYcbcrConversionInfo &ycbcrInfo)
 
VkFormat asVkFormat () const
 
const GrVkYcbcrConversionInfogetYcbcrConversionInfo () const
 
- Public Member Functions inherited from GrBackendFormatData
virtual ~GrBackendFormatData ()
 

Private Member Functions

SkTextureCompressionType compressionType () const override
 
size_t bytesPerBlock () const override
 
int stencilBits () const override
 
uint32_t channelMask () const override
 
GrColorFormatDesc desc () const override
 
bool equal (const GrBackendFormatData *that) const override
 
std::string toString () const override
 
void copyTo (AnyFormatData &formatData) const override
 
void makeTexture2D () override
 

Additional Inherited Members

- Protected Types inherited from GrBackendFormatData
using AnyFormatData = GrBackendFormat::AnyFormatData
 
- Protected Member Functions inherited from GrBackendFormatData
 GrBackendFormatData ()=default
 
 GrBackendFormatData (const GrBackendFormatData &)=default
 

Detailed Description

Definition at line 31 of file GrVkBackendSurface.cpp.

Constructor & Destructor Documentation

◆ GrVkBackendFormatData()

GrVkBackendFormatData::GrVkBackendFormatData ( VkFormat  format,
const GrVkYcbcrConversionInfo ycbcrInfo 
)
inline

Definition at line 33 of file GrVkBackendSurface.cpp.

34 : fFormat(format), fYcbcrConversionInfo(ycbcrInfo) {}
uint32_t uint32_t * format

Member Function Documentation

◆ asVkFormat()

VkFormat GrVkBackendFormatData::asVkFormat ( ) const
inline

Definition at line 36 of file GrVkBackendSurface.cpp.

36{ return fFormat; }

◆ bytesPerBlock()

size_t GrVkBackendFormatData::bytesPerBlock ( ) const
inlineoverrideprivatevirtual

Implements GrBackendFormatData.

Definition at line 53 of file GrVkBackendSurface.cpp.

53 {
54 return skgpu::VkFormatBytesPerBlock(fFormat);
55 }
static constexpr size_t VkFormatBytesPerBlock(VkFormat vkFormat)

◆ channelMask()

uint32_t GrVkBackendFormatData::channelMask ( ) const
inlineoverrideprivatevirtual

Implements GrBackendFormatData.

Definition at line 61 of file GrVkBackendSurface.cpp.

61 {
62 return skgpu::VkFormatChannels(fFormat);
63 }
static constexpr uint32_t VkFormatChannels(VkFormat vkFormat)

◆ compressionType()

SkTextureCompressionType GrVkBackendFormatData::compressionType ( ) const
inlineoverrideprivatevirtual

◆ copyTo()

void GrVkBackendFormatData::copyTo ( AnyFormatData formatData) const
inlineoverrideprivatevirtual

Implements GrBackendFormatData.

Definition at line 86 of file GrVkBackendSurface.cpp.

86 {
87 formatData.emplace<GrVkBackendFormatData>(fFormat, fYcbcrConversionInfo);
88 }

◆ desc()

GrColorFormatDesc GrVkBackendFormatData::desc ( ) const
inlineoverrideprivatevirtual

Implements GrBackendFormatData.

Definition at line 65 of file GrVkBackendSurface.cpp.

65 {
66 return GrVkFormatDesc(fFormat);
67 }
static constexpr GrColorFormatDesc GrVkFormatDesc(VkFormat vkFormat)
Definition GrVkUtil.h:57

◆ equal()

bool GrVkBackendFormatData::equal ( const GrBackendFormatData that) const
inlineoverrideprivatevirtual

Implements GrBackendFormatData.

Definition at line 69 of file GrVkBackendSurface.cpp.

69 {
70 SkASSERT(!that || that->type() == GrBackendApi::kVulkan);
71 if (auto otherVk = static_cast<const GrVkBackendFormatData*>(that)) {
72 return fFormat == otherVk->fFormat &&
73 fYcbcrConversionInfo == otherVk->fYcbcrConversionInfo;
74 }
75 return false;
76 }
#define SkASSERT(cond)
Definition SkAssert.h:116

◆ getYcbcrConversionInfo()

const GrVkYcbcrConversionInfo * GrVkBackendFormatData::getYcbcrConversionInfo ( ) const
inline

Definition at line 37 of file GrVkBackendSurface.cpp.

37{ return &fYcbcrConversionInfo; }

◆ makeTexture2D()

void GrVkBackendFormatData::makeTexture2D ( )
inlineoverrideprivatevirtual

Reimplemented from GrBackendFormatData.

Definition at line 90 of file GrVkBackendSurface.cpp.

90 {
91 // If we have a ycbcr we remove it from the backend format and set the VkFormat to
92 // R8G8B8A8_UNORM
93 if (fYcbcrConversionInfo.isValid()) {
94 fYcbcrConversionInfo = GrVkYcbcrConversionInfo();
96 }
97 }
skgpu::VulkanYcbcrConversionInfo GrVkYcbcrConversionInfo
Definition GrVkTypes.h:17
@ VK_FORMAT_R8G8B8A8_UNORM

◆ stencilBits()

int GrVkBackendFormatData::stencilBits ( ) const
inlineoverrideprivatevirtual

Implements GrBackendFormatData.

Definition at line 57 of file GrVkBackendSurface.cpp.

57 {
58 return skgpu::VkFormatStencilBits(fFormat);
59 }
static constexpr int VkFormatStencilBits(VkFormat format)

◆ toString()

std::string GrVkBackendFormatData::toString ( ) const
inlineoverrideprivatevirtual

Implements GrBackendFormatData.

Definition at line 78 of file GrVkBackendSurface.cpp.

78 {
79#if defined(SK_DEBUG) || GR_TEST_UTILS
80 return skgpu::VkFormatToStr(fFormat);
81#else
82 return "";
83#endif
84 }
static constexpr const char * VkFormatToStr(VkFormat vkFormat)

The documentation for this class was generated from the following file: