1 /* 2 * Copyright 2014 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 #pragma once 8 9 #include "include/core/SkString.h" 10 #include "include/private/base/SkTArray.h" 11 #include "tools/flags/CommandLineFlags.h" 12 13 namespace skgpu::graphite { 14 struct ContextOptions; 15 }; 16 17 namespace CommonFlags { 18 /** 19 * Helper to assist in collecting image paths from |dir| specified through a command line 20 * flag. 21 * 22 * Populates |output|, an array of strings with paths to images to test. 23 * 24 * Returns true if each argument to the images flag is meaningful: 25 * - If the file/directory does not exist, return false. 26 * - If |dir| does not have any supported images (based on file type), return false. 27 * - If |dir| is a single file, assume the user is deliberately testing this image, 28 * regardless of file type. 29 */ 30 bool CollectImages(const CommandLineFlags::StringArray& dir, 31 skia_private::TArray<SkString>* output); 32 /** 33 * Helper to set GrContextOptions from common GPU flags, including 34 * --gpuThreads 35 * --cachePathMasks 36 * --allPathsVolatile 37 * --(no)gs 38 * --(no)ts 39 * --pr 40 * --internalSamples 41 * --disableDriverCorrectnessWorkarounds 42 * --reduceOpsTaskSplitting 43 * --dontReduceOpsTaskSplitting 44 * --allowMSAAOnNewIntel 45 */ 46 void SetCtxOptions(struct GrContextOptions*); 47 48 } // namespace CommonFlags 49