skia2/tools/flags/CommonFlags.h
Chris Dalton 31634288fd Add gms that test limited hw tessellation segments
Adds variations of trickycubicstrokes and widebuttcaps that limit the
max number of hardware tessellation segments to 5. This exercises our
stroking logic for splitting curves and joins when they require more
segments than are supported by the hardware.

Bug: skia:10419
Change-Id: Ie52374b89e30bfa021b2de74e3cd32e02ab734d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/317268
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-09-17 23:48:44 +00:00

46 lines
1.4 KiB
C

/*
* Copyright 2014 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#pragma once
#include "include/core/SkString.h"
#include "include/private/SkTArray.h"
#include "tools/flags/CommandLineFlags.h"
/**
* Helper to assist in collecting image paths from |dir| specified through a command line
* flag.
*
* Populates |output|, an array of strings with paths to images to test.
*
* Returns true if each argument to the images flag is meaningful:
* - If the file/directory does not exist, return false.
* - If |dir| does not have any supported images (based on file type), return false.
* - If |dir| is a single file, assume the user is deliberately testing this image,
* regardless of file type.
*/
bool CollectImages(CommandLineFlags::StringArray dir, SkTArray<SkString>* output);
/**
* Helper to set GrContextOptions from common GPU flags, including
* --gpuThreads
* --cachePathMasks
* --(no)gs
* --(no)ts
* --maxTessellationSegments
* --pr
* --internalSamples
* --disableDriverCorrectnessWorkarounds
* --reduceOpsTaskSplitting
* --dontReduceOpsTaskSplitting
*/
void SetCtxOptionsFromCommonFlags(struct GrContextOptions*);
/**
* Enable, disable, or force analytic anti-aliasing using --analyticAA and --forceAnalyticAA.
*/
void SetAnalyticAAFromCommonFlags();