aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkCaps.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/vk/GrVkCaps.cpp')
-rw-r--r--src/gpu/vk/GrVkCaps.cpp25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp
index e9f239c294..8af81190af 100644
--- a/src/gpu/vk/GrVkCaps.cpp
+++ b/src/gpu/vk/GrVkCaps.cpp
@@ -386,24 +386,11 @@ void GrVkCaps::ConfigInfo::init(const GrVkInterface* interface,
}
}
-bool GrVkCaps::isConfigRenderable(GrPixelConfig config, bool withMSAA) const {
- if (!SkToBool(ConfigInfo::kRenderable_Flag & fConfigTable[config].fOptimalFlags)) {
- return false;
- }
- if (withMSAA && fConfigTable[config].fColorSampleCounts.count() < 2) {
- // We expect any renderable config to support non-MSAA rendering.
- SkASSERT(1 == fConfigTable[config].fColorSampleCounts.count());
- SkASSERT(1 == fConfigTable[config].fColorSampleCounts[0]);
- return false;
- }
- return true;
-}
-
-int GrVkCaps::getSampleCount(int requestedCount, GrPixelConfig config) const {
+int GrVkCaps::getRenderTargetSampleCount(int requestedCount, GrPixelConfig config) const {
requestedCount = SkTMax(1, requestedCount);
int count = fConfigTable[config].fColorSampleCounts.count();
- if (!count || !this->isConfigRenderable(config, requestedCount > 1)) {
+ if (!count) {
return 0;
}
@@ -421,6 +408,14 @@ int GrVkCaps::getSampleCount(int requestedCount, GrPixelConfig config) const {
return 0;
}
+int GrVkCaps::maxRenderTargetSampleCount(GrPixelConfig config) const {
+ const auto& table = fConfigTable[config].fColorSampleCounts;
+ if (!table.count()) {
+ return 0;
+ }
+ return table[table.count() - 1];
+}
+
bool validate_image_info(const GrVkImageInfo* imageInfo, SkColorType ct, GrPixelConfig* config) {
if (!imageInfo) {
return false;