Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(464)

Side by Side Diff: tools/flags/SkCommonFlagsConfig.cpp

Issue 2384483003: Revert of Explicit control in tools of ANGLE frontend and backend (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/flags/SkCommonFlagsConfig.h ('k') | tools/gpu/GrContextFactory.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkCommonFlagsConfig.h" 8 #include "SkCommonFlagsConfig.h"
9 #include "SkImageInfo.h" 9 #include "SkImageInfo.h"
10 10
11 #include <stdlib.h> 11 #include <stdlib.h>
12 12
13 #if SK_SUPPORT_GPU 13 #if SK_SUPPORT_GPU
14 using sk_gpu_test::GrContextFactory; 14 using sk_gpu_test::GrContextFactory;
15 #endif 15 #endif
16 16
17 static const char defaultConfigs[] = 17 static const char defaultConfigs[] =
18 "8888 gpu nonrendering" 18 "8888 gpu nonrendering"
19 #if defined(SK_BUILD_FOR_WIN) 19 #if SK_ANGLE
20 " angle_d3d11_es2" 20 #ifdef SK_BUILD_FOR_WIN
21 " angle"
22 #endif
21 #endif 23 #endif
22 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK 24 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
23 " hwui" 25 " hwui"
24 #endif 26 #endif
25 ; 27 ;
26 28
27 static const struct { 29 static const struct {
28 const char* predefinedConfig; 30 const char* predefinedConfig;
29 const char* backend; 31 const char* backend;
30 const char* options; 32 const char* options;
31 } gPredefinedConfigs[] ={ 33 } gPredefinedConfigs[] ={
32 #if SK_SUPPORT_GPU 34 #if SK_SUPPORT_GPU
33 { "gpu", "gpu", "" }, 35 { "gpu", "gpu", "" },
34 { "gl", "gpu", "api=gl" }, 36 { "gl", "gpu", "api=gl" },
35 { "msaa4", "gpu", "samples=4" }, 37 { "msaa4", "gpu", "samples=4" },
36 { "glmsaa4", "gpu", "api=gl,samples=4" }, 38 { "glmsaa4", "gpu", "api=gl,samples=4" },
37 { "msaa16", "gpu", "samples=16" }, 39 { "msaa16", "gpu", "samples=16" },
38 { "nvpr4", "gpu", "nvpr=true,samples=4" }, 40 { "nvpr4", "gpu", "nvpr=true,samples=4" },
39 { "glnvpr4", "gpu", "api=gl,nvpr=true,samples=4" }, 41 { "glnvpr4", "gpu", "api=gl,nvpr=true,samples=4" },
40 { "nvpr16", "gpu", "nvpr=true,samples=16" }, 42 { "nvpr16", "gpu", "nvpr=true,samples=16" },
41 { "nvprdit4", "gpu", "nvpr=true,samples=4,dit=true" }, 43 { "nvprdit4", "gpu", "nvpr=true,samples=4,dit=true" },
42 { "glnvprdit4", "gpu", "api=gl,nvpr=true,samples=4,dit=true" }, 44 { "glnvprdit4", "gpu", "api=gl,nvpr=true,samples=4,dit=true" },
43 { "nvprdit16", "gpu", "nvpr=true,samples=16,dit=true" }, 45 { "nvprdit16", "gpu", "nvpr=true,samples=16,dit=true" },
44 { "glinst", "gpu", "api=gl,inst=true" }, 46 { "glinst", "gpu", "api=gl,inst=true" },
45 { "glinst4", "gpu", "api=gl,inst=true,samples=4" }, 47 { "glinst4", "gpu", "api=gl,inst=true,samples=4" },
46 { "glinstdit4", "gpu", "api=gl,inst=true,samples=4,dit=true" }, 48 { "glinstdit4", "gpu", "api=gl,inst=true,samples=4,dit=true" },
47 { "glinst16", "gpu", "api=gl,inst=true,samples=16" }, 49 { "glinst16", "gpu", "api=gl,inst=true,samples=16" },
48 { "glinstdit16", "gpu", "api=gl,inst=true,samples=16,dit=true" }, 50 { "glinstdit16", "gpu", "api=gl,inst=true,samples=16,dit=true" },
49 { "esinst", "gpu", "api=gles,inst=true" }, 51 { "esinst", "gpu", "api=gles,inst=true" },
50 { "esinst4", "gpu", "api=gles,inst=true,samples=4" }, 52 { "esinst4", "gpu", "api=gles,inst=true,samples=4" },
51 { "esinstdit4", "gpu", "api=gles,inst=true,samples=4,dit=true" }, 53 { "esinstdit4", "gpu", "api=gles,inst=true,samples=4,dit=true" },
52 { "gpuf16", "gpu", "color=f16" }, 54 { "gpuf16", "gpu", "color=f16" },
53 { "gpusrgb", "gpu", "color=srgb" }, 55 { "gpusrgb", "gpu", "color=srgb" },
54 { "glsrgb", "gpu", "api=gl,color=srgb" }, 56 { "glsrgb", "gpu", "api=gl,color=srgb" },
55 { "glwide", "gpu", "api=gl,color=f16_wide" }, 57 { "glwide", "gpu", "api=gl,color=f16_wide" },
56 { "gpudft", "gpu", "dit=true" }, 58 { "gpudft", "gpu", "dit=true" },
57 { "gpudebug", "gpu", "api=debug" }, 59 { "gpudebug", "gpu", "api=debug" },
58 { "gpunull", "gpu", "api=null" }, 60 { "gpunull", "gpu", "api=null" },
59 { "debug", "gpu", "api=debug" }, 61 { "debug", "gpu", "api=debug" },
60 { "nullgpu", "gpu", "api=null" }, 62 { "nullgpu", "gpu", "api=null" }
61 { "angle_d3d11_es2", "gpu", "api=angle_d3d11_es2" }, 63 #if SK_ANGLE
62 { "angle_gl_es2", "gpu", "api=angle_gl_es2" }, 64 #ifdef SK_BUILD_FOR_WIN
63 { "commandbuffer", "gpu", "api=commandbuffer" } 65 ,{ "angle", "gpu", "api=angle" }
66 #endif
67 ,{ "angle-gl", "gpu", "api=angle-gl" }
68 #endif
69 ,{ "commandbuffer", "gpu", "api=commandbuffer" }
64 #if SK_MESA 70 #if SK_MESA
65 ,{ "mesa", "gpu", "api=mesa" } 71 ,{ "mesa", "gpu", "api=mesa" }
66 #endif 72 #endif
67 #ifdef SK_VULKAN 73 #ifdef SK_VULKAN
68 ,{ "vk", "gpu", "api=vulkan" } 74 ,{ "vk", "gpu", "api=vulkan" }
69 ,{ "vksrgb", "gpu", "api=vulkan,color=srgb" } 75 ,{ "vksrgb", "gpu", "api=vulkan,color=srgb" }
70 ,{ "vkwide", "gpu", "api=vulkan,color=f16_wide" } 76 ,{ "vkwide", "gpu", "api=vulkan,color=f16_wide" }
71 ,{ "vkmsaa4", "gpu", "api=vulkan,samples=4" } 77 ,{ "vkmsaa4", "gpu", "api=vulkan,samples=4" }
72 ,{ "vkmsaa16", "gpu", "api=vulkan,samples=16" } 78 ,{ "vkmsaa16", "gpu", "api=vulkan,samples=16" }
73 #endif 79 #endif
74 80
75 #else 81 #else
76 { "", "", "" } 82 { "", "", "" }
77 #endif 83 #endif
78 }; 84 };
79 85
80 static const char configHelp[] = 86 static const char configHelp[] =
81 "Options: 565 8888 srgb f16 nonrendering null pdf pdfa skp pipe svg xps" 87 "Options: 565 8888 srgb f16 nonrendering null pdf pdfa skp pipe svg xps"
82 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK 88 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
(...skipping 18 matching lines...) Expand all
101 "\n" 107 "\n"
102 "gpu[api=string,color=string,dit=bool,nvpr=bool,inst=bool,samples=int]\n" 108 "gpu[api=string,color=string,dit=bool,nvpr=bool,inst=bool,samples=int]\n"
103 "\tapi\ttype: string\tdefault: native.\n" 109 "\tapi\ttype: string\tdefault: native.\n"
104 "\t Select graphics API to use with gpu backend.\n" 110 "\t Select graphics API to use with gpu backend.\n"
105 "\t Options:\n" 111 "\t Options:\n"
106 "\t\tnative\t\t\tUse platform default OpenGL or OpenGL ES backend.\n" 112 "\t\tnative\t\t\tUse platform default OpenGL or OpenGL ES backend.\n"
107 "\t\tgl \t\t\tUse OpenGL.\n" 113 "\t\tgl \t\t\tUse OpenGL.\n"
108 "\t\tgles \t\t\tUse OpenGL ES.\n" 114 "\t\tgles \t\t\tUse OpenGL ES.\n"
109 "\t\tdebug \t\t\tUse debug OpenGL.\n" 115 "\t\tdebug \t\t\tUse debug OpenGL.\n"
110 "\t\tnull \t\t\tUse null OpenGL.\n" 116 "\t\tnull \t\t\tUse null OpenGL.\n"
111 "\t\tangle_d3d9_es2\t\t\tUse OpenGL ES2 on the ANGLE Direct3D9 backend.\n" 117 #if SK_ANGLE
112 "\t\tangle_d3d11_es2\t\t\tUse OpenGL ES2 on the ANGLE Direct3D11 backend.\n" 118 #ifdef SK_BUILD_FOR_WIN
113 "\t\tangle_d3d11_es3\t\t\tUse OpenGL ES3 on the ANGLE Direct3D11 backend.\n" 119 "\t\tangle\t\t\tUse ANGLE DirectX.\n"
114 "\t\tangle_gl_es2\t\t\tUse OpenGL ES2 on the ANGLE OpenGL backend.\n" 120 #endif
115 "\t\tangle_gl_es3\t\t\tUse OpenGL ES3 on the ANGLE OpenGL backend.\n" 121 "\t\tangle-gl\t\t\tUse ANGLE OpenGL.\n"
122 #endif
116 "\t\tcommandbuffer\t\tUse command buffer.\n" 123 "\t\tcommandbuffer\t\tUse command buffer.\n"
117 #if SK_MESA 124 #if SK_MESA
118 "\t\tmesa\t\t\tUse MESA.\n" 125 "\t\tmesa\t\t\tUse MESA.\n"
119 #endif 126 #endif
120 #ifdef SK_VULKAN 127 #ifdef SK_VULKAN
121 "\t\tvulkan\t\t\tUse Vulkan.\n" 128 "\t\tvulkan\t\t\tUse Vulkan.\n"
122 #endif 129 #endif
123 "\tcolor\ttype: string\tdefault: 8888.\n" 130 "\tcolor\ttype: string\tdefault: 8888.\n"
124 "\t Select framebuffer color format.\n" 131 "\t Select framebuffer color format.\n"
125 "\t Options:\n" 132 "\t Options:\n"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 return true; 226 return true;
220 } 227 }
221 if (value.equals("debug")) { 228 if (value.equals("debug")) {
222 *outContextType = GrContextFactory::kDebugGL_ContextType; 229 *outContextType = GrContextFactory::kDebugGL_ContextType;
223 return true; 230 return true;
224 } 231 }
225 if (value.equals("null")) { 232 if (value.equals("null")) {
226 *outContextType = GrContextFactory::kNullGL_ContextType; 233 *outContextType = GrContextFactory::kNullGL_ContextType;
227 return true; 234 return true;
228 } 235 }
229 if (value.equals("angle_d3d9_es2")) { 236 #if SK_ANGLE
230 *outContextType = GrContextFactory::kANGLE_D3D9_ES2_ContextType; 237 #ifdef SK_BUILD_FOR_WIN
238 if (value.equals("angle")) {
239 *outContextType = GrContextFactory::kANGLE_ContextType;
231 return true; 240 return true;
232 } 241 }
233 if (value.equals("angle_d3d11_es2")) { 242 #endif
234 *outContextType = GrContextFactory::kANGLE_D3D11_ES2_ContextType; 243 if (value.equals("angle-gl")) {
244 *outContextType = GrContextFactory::kANGLE_GL_ContextType;
235 return true; 245 return true;
236 } 246 }
237 if (value.equals("angle_d3d11_es3")) { 247 #endif
238 *outContextType = GrContextFactory::kANGLE_D3D11_ES3_ContextType;
239 return true;
240 }
241 if (value.equals("angle_gl_es2")) {
242 *outContextType = GrContextFactory::kANGLE_GL_ES2_ContextType;
243 return true;
244 }
245 if (value.equals("angle_gl_es3")) {
246 *outContextType = GrContextFactory::kANGLE_GL_ES3_ContextType;
247 return true;
248 }
249 if (value.equals("commandbuffer")) { 248 if (value.equals("commandbuffer")) {
250 *outContextType = GrContextFactory::kCommandBuffer_ContextType; 249 *outContextType = GrContextFactory::kCommandBuffer_ContextType;
251 return true; 250 return true;
252 } 251 }
253 #if SK_MESA 252 #if SK_MESA
254 if (value.equals("mesa")) { 253 if (value.equals("mesa")) {
255 *outContextType = GrContextFactory::kMESA_ContextType; 254 *outContextType = GrContextFactory::kMESA_ContextType;
256 return true; 255 return true;
257 } 256 }
258 #endif 257 #endif
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 } 399 }
401 } 400 }
402 401
403 if (extendedBackend.isEmpty()) { 402 if (extendedBackend.isEmpty()) {
404 simpleBackend = tag; 403 simpleBackend = tag;
405 SkStrSplit(tag.c_str(), "-", kStrict_SkStrSplitMode, &vias); 404 SkStrSplit(tag.c_str(), "-", kStrict_SkStrSplitMode, &vias);
406 if (vias.count()) { 405 if (vias.count()) {
407 simpleBackend = vias[vias.count() - 1]; 406 simpleBackend = vias[vias.count() - 1];
408 vias.pop_back(); 407 vias.pop_back();
409 } 408 }
409 // Note: no #if SK_ANGLE: this is a special rule in the via-tag gram mar.
410 if (vias.count() && simpleBackend.equals("gl") &&
411 vias[vias.count() - 1].equals("angle")) {
412 simpleBackend = "angle-gl";
413 vias.pop_back();
414 }
415
410 for (auto& predefinedConfig : gPredefinedConfigs) { 416 for (auto& predefinedConfig : gPredefinedConfigs) {
411 if (simpleBackend.equals(predefinedConfig.predefinedConfig)) { 417 if (simpleBackend.equals(predefinedConfig.predefinedConfig)) {
412 extendedBackend = predefinedConfig.backend; 418 extendedBackend = predefinedConfig.backend;
413 extendedOptions = predefinedConfig.options; 419 extendedOptions = predefinedConfig.options;
414 break; 420 break;
415 } 421 }
416 } 422 }
417 } 423 }
418 SkCommandLineConfig* parsedConfig = nullptr; 424 SkCommandLineConfig* parsedConfig = nullptr;
419 #if SK_SUPPORT_GPU 425 #if SK_SUPPORT_GPU
420 if (extendedBackend.equals("gpu")) { 426 if (extendedBackend.equals("gpu")) {
421 parsedConfig = parse_command_line_config_gpu(tag, vias, extendedOpti ons); 427 parsedConfig = parse_command_line_config_gpu(tag, vias, extendedOpti ons);
422 } 428 }
423 #endif 429 #endif
424 if (!parsedConfig) { 430 if (!parsedConfig) {
425 parsedConfig = new SkCommandLineConfig(tag, simpleBackend, vias); 431 parsedConfig = new SkCommandLineConfig(tag, simpleBackend, vias);
426 } 432 }
427 outResult->emplace_back(parsedConfig); 433 outResult->emplace_back(parsedConfig);
428 } 434 }
429 } 435 }
OLDNEW
« no previous file with comments | « tools/flags/SkCommonFlagsConfig.h ('k') | tools/gpu/GrContextFactory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698