From 81e7bf8d6d338d944f3c5075b14c21580398aeb6 Mon Sep 17 00:00:00 2001 From: Greg Daniel Date: Wed, 19 Jul 2017 14:47:42 -0400 Subject: Update gpu caps for valid sample counts. Instead of query and maxSampleCount and using that to cap, we now have each config store its supported values and when requested returns either the next highest or equal supported value, or if non the max config supported. Bug: skia: Change-Id: I8802d44c13b3b1703ee54a7e69b82102d4b8dc2d Reviewed-on: https://skia-review.googlesource.com/24302 Commit-Queue: Greg Daniel Reviewed-by: Brian Salomon --- tools/skpbench/skpbench.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'tools/skpbench') diff --git a/tools/skpbench/skpbench.cpp b/tools/skpbench/skpbench.cpp index 8898da25d5..c0ead46155 100644 --- a/tools/skpbench/skpbench.cpp +++ b/tools/skpbench/skpbench.cpp @@ -7,6 +7,8 @@ #include "GpuTimer.h" #include "GrContextFactory.h" +#include "SkGr.h" + #include "SkCanvas.h" #include "SkCommonFlagsPathRenderer.h" #include "SkOSFile.h" @@ -287,9 +289,13 @@ int main(int argc, char** argv) { exitf(ExitErr::kUnavailable, "render target size %ix%i not supported by platform (max: %i)", width, height, ctx->caps()->maxRenderTargetSize()); } - if (ctx->caps()->maxSampleCount() < config->getSamples()) { - exitf(ExitErr::kUnavailable, "sample count %i not supported by platform (max: %i)", - config->getSamples(), ctx->caps()->maxSampleCount()); + GrPixelConfig grPixConfig = SkImageInfo2GrPixelConfig(config->getColorType(), + config->getColorSpace(), + *ctx->caps()); + int supportedSampleCount = ctx->caps()->getSampleCount(config->getSamples(), grPixConfig); + if (supportedSampleCount != config->getSamples()) { + exitf(ExitErr::kUnavailable, "sample count %i not supported by platform", + config->getSamples()); } sk_gpu_test::TestContext* testCtx = ctxInfo.testContext(); if (!testCtx) { -- cgit v1.2.3