|
| VulkanCaps (const ContextOptions &, const skgpu::VulkanInterface *, VkPhysicalDevice, uint32_t physicalDeviceVersion, const VkPhysicalDeviceFeatures2 *, const skgpu::VulkanExtensions *, Protected) |
|
| ~VulkanCaps () override |
|
TextureInfo | getDefaultSampledTextureInfo (SkColorType, Mipmapped mipmapped, Protected, Renderable) const override |
|
TextureInfo | getTextureInfoForSampledCopy (const TextureInfo &textureInfo, Mipmapped mipmapped) const override |
|
TextureInfo | getDefaultCompressedTextureInfo (SkTextureCompressionType, Mipmapped mipmapped, Protected) const override |
|
TextureInfo | getDefaultMSAATextureInfo (const TextureInfo &singleSampledInfo, Discardable discardable) const override |
|
TextureInfo | getDefaultDepthStencilTextureInfo (SkEnumBitMask< DepthStencilFlags >, uint32_t sampleCount, Protected) const override |
|
TextureInfo | getDefaultStorageTextureInfo (SkColorType) const override |
|
UniqueKey | makeGraphicsPipelineKey (const GraphicsPipelineDesc &, const RenderPassDesc &) const override |
|
UniqueKey | makeComputePipelineKey (const ComputePipelineDesc &) const override |
|
GraphiteResourceKey | makeSamplerKey (const SamplerDesc &) const override |
|
uint32_t | channelMask (const TextureInfo &) const override |
|
bool | isRenderable (const TextureInfo &) const override |
|
bool | isStorage (const TextureInfo &) const override |
|
void | buildKeyForTexture (SkISize dimensions, const TextureInfo &, ResourceType, Shareable, GraphiteResourceKey *) const override |
|
bool | shouldAlwaysUseDedicatedImageMemory () const |
|
bool | gpuOnlyBuffersMorePerformant () const |
|
bool | shouldPersistentlyMapCpuToGpuBuffers () const |
|
bool | supportsYcbcrConversion () const |
|
bool | supportsDeviceFaultInfo () const |
|
uint32_t | maxVertexAttributes () const |
|
uint64_t | maxUniformBufferRange () const |
|
const VkPhysicalDeviceMemoryProperties2 & | physicalDeviceMemoryProperties2 () const |
|
bool | isTransferSrc (const VulkanTextureInfo &) const |
|
bool | isTransferDst (const VulkanTextureInfo &) const |
|
virtual | ~Caps () |
|
const SkSL::ShaderCaps * | shaderCaps () const |
|
sk_sp< SkCapabilities > | capabilities () const |
|
virtual SkISize | getDepthAttachmentDimensions (const TextureInfo &, const SkISize colorAttachmentDimensions) const |
|
virtual bool | extractGraphicsDescs (const UniqueKey &, GraphicsPipelineDesc *, RenderPassDesc *, const RendererProvider *) const |
|
bool | areColorTypeAndTextureInfoCompatible (SkColorType, const TextureInfo &) const |
|
bool | isTexturable (const TextureInfo &) const |
|
int | maxTextureSize () const |
|
int | defaultMSAASamplesCount () const |
|
const ResourceBindingRequirements & | resourceBindingRequirements () const |
|
size_t | requiredUniformBufferAlignment () const |
|
size_t | requiredStorageBufferAlignment () const |
|
size_t | requiredTransferBufferAlignment () const |
|
size_t | getAlignedTextureDataRowBytes (size_t rowBytes) const |
|
SkColorType | getRenderableColorType (SkColorType) const |
|
bool | clampToBorderSupport () const |
|
bool | protectedSupport () const |
|
bool | semaphoreSupport () const |
|
bool | allowCpuSync () const |
|
bool | storageBufferSupport () const |
|
bool | storageBufferPreferred () const |
|
bool | drawBufferCanBeMapped () const |
|
bool | bufferMapsAreAsync () const |
|
bool | msaaRenderToSingleSampledSupport () const |
|
bool | computeSupport () const |
|
bool | supportsAHardwareBufferImages () const |
|
skgpu::Swizzle | getReadSwizzle (SkColorType, const TextureInfo &) const |
|
skgpu::Swizzle | getWriteSwizzle (SkColorType, const TextureInfo &) const |
|
skgpu::ShaderErrorHandler * | shaderErrorHandler () const |
|
DstReadRequirement | getDstReadRequirement () const |
|
float | minDistanceFieldFontSize () const |
|
float | glyphsAsPathsFontSize () const |
|
size_t | glyphCacheTextureMaximumBytes () const |
|
int | maxPathAtlasTextureSize () const |
|
bool | allowMultipleAtlasTextures () const |
|
bool | supportBilerpFromGlyphAtlas () const |
|
bool | requireOrderedRecordings () const |
|
bool | fullCompressedUploadSizeMustAlignToBlockDims () const |
|
sktext::gpu::SDFTControl | getSDFTControl (bool useSDFTForSmallText) const |
|
Definition at line 20 of file VulkanCaps.h.
Given a src surface's color type and its texture info as well as a color type the caller would like read into, this provides a legal color type that the caller can use for readPixels. The returned color type may differ from the passed dstColorType, in which case the caller must convert the read pixel data (see GrConvertPixels). When converting to dstColorType the swizzle in the returned struct should be applied. The caller must check the returned color type for kUnknown.
We currently don't have an SkColorType for a 3 channel RGB format. Additionally the current implementation of raster pipeline requires power of 2 channels, so it is not easy to add such an SkColorType. Thus we need to check for data that is 3 channels using the isRGBFormat return value and handle it manually
Implements skgpu::graphite::Caps.
Definition at line 1347 of file VulkanCaps.cpp.
1350 {
1351 VulkanTextureInfo vkInfo;
1352 if (!srcTextureInfo.getVulkanTextureInfo(&vkInfo)) {
1354 }
1355
1356
1357
1360 }
1361
1362
1366 }
1367
1368 const FormatInfo&
info = this->getFormatInfo(vkInfo.fFormat);
1369 for (
int i = 0; i <
info.fColorTypeInfoCount; ++i) {
1370 const auto& ctInfo =
info.fColorTypeInfos[i];
1371 if (ctInfo.fColorType == srcColorType) {
1373 }
1374 }
1375
1377}
@ kUnknown_SkColorType
uninitialized
bool isTexturable(const TextureInfo &) const
static constexpr bool VkFormatNeedsYcbcrSampler(VkFormat format)
static constexpr bool VkFormatIsCompressed(VkFormat vkFormat)
Given a dst pixel config and a src color type what color type must the caller coax the the data into in order to use writePixels.
We currently don't have an SkColorType for a 3 channel RGB format. Additionally the current implementation of raster pipeline requires power of 2 channels, so it is not easy to add such an SkColorType. Thus we need to check for data that is 3 channels using the isRGBFormat return value and handle it manually
Implements skgpu::graphite::Caps.
Definition at line 1321 of file VulkanCaps.cpp.
1324 {
1325 VulkanTextureInfo vkInfo;
1326 if (!dstTextureInfo.getVulkanTextureInfo(&vkInfo)) {
1328 }
1329
1330
1331
1334 }
1335
1336 const FormatInfo&
info = this->getFormatInfo(vkInfo.fFormat);
1337 for (
int i = 0; i <
info.fColorTypeInfoCount; ++i) {
1338 const auto& ctInfo =
info.fColorTypeInfos[i];
1339 if (ctInfo.fColorType == dstColorType) {
1341 }
1342 }
1343
1345}