Flutter Engine
 
Loading...
Searching...
No Matches
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
 
Flags flags
 

Detailed Description

Definition at line 16 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:21

References args, enable_playground, enable_vulkan_validation, timeout, use_angle, and use_swiftshader.

Member Data Documentation

◆ enable_playground

◆ enable_vulkan_validation

bool impeller::PlaygroundSwitches::enable_vulkan_validation = false

◆ enable_wide_gamut

bool impeller::PlaygroundSwitches::enable_wide_gamut = false

◆ flags

◆ timeout

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

Definition at line 21 of file switches.h.

Referenced by PlaygroundSwitches().

◆ 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 34 of file switches.h.

Referenced by impeller::PlaygroundTest::GetWindowTitle(), PlaygroundSwitches(), and impeller::GoldenPlaygroundTest::SetUp().

◆ 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 28 of file switches.h.

Referenced by impeller::PlaygroundTest::GetWindowTitle(), impeller::Playground::Playground(), and PlaygroundSwitches().


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