Flutter Engine
The Flutter Engine
Public Member Functions | Public Attributes | List of all members
impeller::PlaygroundSwitches Struct Reference

#include <switches.h>

Public Member Functions

 PlaygroundSwitches ()
 
 PlaygroundSwitches (const fml::CommandLine &args)
 

Public Attributes

bool enable_playground = false
 
std::optional< std::chrono::milliseconds > timeout
 
bool enable_vulkan_validation = false
 
bool use_swiftshader = false
 
bool use_angle = false
 
bool enable_wide_gamut = false
 

Detailed Description

Definition at line 15 of file switches.h.

Constructor & Destructor Documentation

◆ PlaygroundSwitches() [1/2]

impeller::PlaygroundSwitches::PlaygroundSwitches ( )
default

◆ PlaygroundSwitches() [2/2]

impeller::PlaygroundSwitches::PlaygroundSwitches ( const fml::CommandLine args)
explicit

Definition at line 15 of file switches.cc.

15 {
16 enable_playground = args.HasOption("enable_playground");
17 std::string timeout_str;
18 if (args.GetOptionValue("playground_timeout_ms", &timeout_str)) {
19 timeout = std::chrono::milliseconds(atoi(timeout_str.c_str()));
20 // Specifying a playground timeout implies you want to enable playgrounds.
21 enable_playground = true;
22 }
23 enable_vulkan_validation = args.HasOption("enable_vulkan_validation");
24 use_swiftshader = args.HasOption("use_swiftshader");
25 use_angle = args.HasOption("use_angle");
26#if FML_OS_MACOSX
27 // OpenGL on macOS is busted and deprecated. Use Angle there by default.
28 use_angle = true;
29#endif // FML_OS_MACOSX
30}
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
std::optional< std::chrono::milliseconds > timeout
Definition: switches.h:20

Member Data Documentation

◆ enable_playground

bool impeller::PlaygroundSwitches::enable_playground = false

Definition at line 16 of file switches.h.

◆ enable_vulkan_validation

bool impeller::PlaygroundSwitches::enable_vulkan_validation = false

Definition at line 21 of file switches.h.

◆ enable_wide_gamut

bool impeller::PlaygroundSwitches::enable_wide_gamut = false

Definition at line 35 of file switches.h.

◆ timeout

std::optional<std::chrono::milliseconds> impeller::PlaygroundSwitches::timeout

Definition at line 20 of file switches.h.

◆ use_angle

bool impeller::PlaygroundSwitches::use_angle = false

Attempt to use Angle on the system instead of the available OpenGL ES implementation. This is on-by-default on macOS due to the broken-ness in the deprecated OpenGL implementation. On other platforms, it this opt-in via the flag with the system OpenGL ES implementation used by fault.

Definition at line 33 of file switches.h.

◆ use_swiftshader

bool impeller::PlaygroundSwitches::use_swiftshader = false

Seek a SwiftShader library in known locations and use it when running Vulkan. It is a fatal error to provide this option and not have the test find a SwiftShader implementation.

Definition at line 27 of file switches.h.


The documentation for this struct was generated from the following files: