@@ -28,14 +28,16 @@ bool IsFilament(GraphicsMode gfx_mode) {
2828 return gfx_mode == GraphicsMode::FilamentOpenGl ||
2929 gfx_mode == GraphicsMode::FilamentVulkan ||
3030 gfx_mode == GraphicsMode::FilamentWebGl ||
31- gfx_mode == GraphicsMode::FilamentOpenGlHeadless;
31+ gfx_mode == GraphicsMode::FilamentOpenGlHeadless ||
32+ gfx_mode == GraphicsMode::FilamentOpenGlSoftware;
3233}
3334
3435bool IsOpenGl (GraphicsMode gfx_mode) {
3536 return gfx_mode == GraphicsMode::ClassicOpenGl ||
3637 gfx_mode == GraphicsMode::ClassicOpenGlHeadless ||
3738 gfx_mode == GraphicsMode::FilamentOpenGl ||
38- gfx_mode == GraphicsMode::FilamentOpenGlHeadless;
39+ gfx_mode == GraphicsMode::FilamentOpenGlHeadless ||
40+ gfx_mode == GraphicsMode::FilamentOpenGlSoftware;
3941}
4042
4143bool IsVulkan (GraphicsMode gfx_mode) {
@@ -48,7 +50,12 @@ bool IsWebGl(GraphicsMode gfx_mode) {
4850
4951bool IsHeadless (GraphicsMode gfx_mode) {
5052 return gfx_mode == GraphicsMode::ClassicOpenGlHeadless ||
51- gfx_mode == GraphicsMode::FilamentOpenGlHeadless;
53+ gfx_mode == GraphicsMode::FilamentOpenGlHeadless ||
54+ gfx_mode == GraphicsMode::FilamentOpenGlSoftware;
55+ }
56+
57+ bool IsSoftware (GraphicsMode gfx_mode) {
58+ return gfx_mode == GraphicsMode::FilamentOpenGlSoftware;
5259}
5360
5461GraphicsMode GraphicsModeFromString (std::string_view str,
@@ -65,6 +72,8 @@ GraphicsMode GraphicsModeFromString(std::string_view str,
6572 return GraphicsMode::FilamentWebGl;
6673 } else if (str == " opengl_headless" ) {
6774 return GraphicsMode::FilamentOpenGlHeadless;
75+ } else if (str == " opengl_software" ) {
76+ return GraphicsMode::FilamentOpenGlSoftware;
6877 } else if (str.empty ()) {
6978 return default_mode;
7079 } else {
0 commit comments