| Flutter Impeller |

switches.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef FLUTTER_IMPELLER_PLAYGROUND_SWITCHES_H_
6 #define FLUTTER_IMPELLER_PLAYGROUND_SWITCHES_H_
7
8 #include <chrono>
9 #include <optional>
10
11 #include "flutter/fml/command_line.h"
12 #include "impeller/base/flags.h"
13
14 namespace impeller {
15
16 struct PlaygroundSwitches {
17 bool enable_playground = false;
18 // If specified, the playgrounds will render for at least the duration
19 // specified in the timeout. If the timeout is zero, exactly one frame will be
20 // rendered in the playground.
21 std::optional<std::chrono::milliseconds> timeout;
22 bool enable_vulkan_validation = false;
23 //----------------------------------------------------------------------------
24 /// Seek a SwiftShader library in known locations and use it when running
25 /// Vulkan. It is a fatal error to provide this option and not have the test
26 /// find a SwiftShader implementation.
27 ///
28 bool use_swiftshader = false;
29 /// Attempt to use Angle on the system instead of the available OpenGL ES
30 /// implementation. This is on-by-default on macOS due to the broken-ness in
31 /// the deprecated OpenGL implementation. On other platforms, it this opt-in
32 /// via the flag with the system OpenGL ES implementation used by fault.
33 ///
34 bool use_angle = false;
35
36 bool enable_wide_gamut = false;
37
38 Flags flags;
39
40 PlaygroundSwitches();
41
42 explicit PlaygroundSwitches(const fml::CommandLine& args);
43 };
44
45 } // namespace impeller
46
47 #endif // FLUTTER_IMPELLER_PLAYGROUND_SWITCHES_H_
flags.h
impeller
Definition: allocation.cc:12
impeller::Flags
Definition: flags.h:9
impeller::PlaygroundSwitches
Definition: switches.h:16
impeller::PlaygroundSwitches::enable_playground
bool enable_playground
Definition: switches.h:17
impeller::PlaygroundSwitches::use_swiftshader
bool use_swiftshader
Definition: switches.h:28
impeller::PlaygroundSwitches::use_angle
bool use_angle
Definition: switches.h:34
impeller::PlaygroundSwitches::PlaygroundSwitches
PlaygroundSwitches()
impeller::PlaygroundSwitches::timeout
std::optional< std::chrono::milliseconds > timeout
Definition: switches.h:21
impeller::PlaygroundSwitches::flags
Flags flags
Definition: switches.h:38
impeller::PlaygroundSwitches::enable_vulkan_validation
bool enable_vulkan_validation
Definition: switches.h:22
impeller::PlaygroundSwitches::enable_wide_gamut
bool enable_wide_gamut
Definition: switches.h:36