GrVkCaps: add isFormatRenderable and rename some isConfig* methods to isFormat*
Change-Id: I7fe38e9851cd1ad3b31944b00b9304b811a6ac5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213820
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp
index 391aaa5..9305358 100644
--- a/src/gpu/vk/GrVkCaps.cpp
+++ b/src/gpu/vk/GrVkCaps.cpp
@@ -844,7 +844,7 @@
}
}
-bool GrVkCaps::isConfigTexturable(VkFormat format) const {
+bool GrVkCaps::isFormatTexturable(VkFormat format) const {
if (!GrVkFormatIsSupported(format)) {
return false;
}
@@ -858,7 +858,11 @@
if (!GrPixelConfigToVkFormat(config, &format)) {
return false;
}
- return this->isConfigTexturable(format);
+ return this->isFormatTexturable(format);
+}
+
+bool GrVkCaps::isFormatRenderable(VkFormat format) const {
+ return this->maxRenderTargetSampleCount(format) > 0;
}
int GrVkCaps::getRenderTargetSampleCount(int requestedCount, GrPixelConfig config) const {
diff --git a/src/gpu/vk/GrVkCaps.h b/src/gpu/vk/GrVkCaps.h
index 7a4656d..5cc7598 100644
--- a/src/gpu/vk/GrVkCaps.h
+++ b/src/gpu/vk/GrVkCaps.h
@@ -32,13 +32,15 @@
uint32_t instanceVersion, uint32_t physicalDeviceVersion,
const GrVkExtensions& extensions);
- bool isConfigTexturable(VkFormat) const;
+ bool isFormatTexturable(VkFormat) const;
bool isConfigTexturable(GrPixelConfig config) const override;
bool isConfigCopyable(GrPixelConfig config) const override {
return true;
}
+ bool isFormatRenderable(VkFormat) const;
+
int getRenderTargetSampleCount(int requestedCount, GrPixelConfig config) const override;
int getRenderTargetSampleCount(int requestedCount, VkFormat) const;
int maxRenderTargetSampleCount(GrPixelConfig config) const override;
@@ -46,7 +48,7 @@
bool surfaceSupportsReadPixels(const GrSurface*) const override;
- bool isConfigTexturableLinearly(VkFormat format) const {
+ bool isFormatTexturableLinearly(VkFormat format) const {
return SkToBool(FormatInfo::kTextureable_Flag & this->getFormatInfo(format).fLinearFlags);
}
diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp
index 92bd287..b8385ae 100644
--- a/src/gpu/vk/GrVkGpu.cpp
+++ b/src/gpu/vk/GrVkGpu.cpp
@@ -1161,12 +1161,12 @@
static bool check_tex_image_info(const GrVkCaps& caps, const GrVkImageInfo& info) {
if (info.fImageTiling == VK_IMAGE_TILING_OPTIMAL) {
- if (!caps.isConfigTexturable(info.fFormat)) {
+ if (!caps.isFormatTexturable(info.fFormat)) {
return false;
}
} else {
SkASSERT(info.fImageTiling == VK_IMAGE_TILING_LINEAR);
- if (!caps.isConfigTexturableLinearly(info.fFormat)) {
+ if (!caps.isFormatTexturableLinearly(info.fFormat)) {
return false;
}
}