diff --git a/TODO b/TODO index 8edcc8e..91740ba 100644 --- a/TODO +++ b/TODO @@ -259,4 +259,4 @@ Keep replay turned on when opening a fullscreen application and alt-tabbing. Onl Show vulkan codec options. -Use game information to save video under the game title if available, fallback to window title. +Use wlroots protocol for region selection, if the protocol is available. diff --git a/include/Config.hpp b/include/Config.hpp index 8eca0c2..8395a05 100644 --- a/include/Config.hpp +++ b/include/Config.hpp @@ -57,6 +57,7 @@ namespace gsr { bool record_cursor = true; bool restore_portal_session = true; bool low_power_mode = false; + bool enable_vulkan_video_encoding = false; std::string webcam_source = ""; bool webcam_flip_horizontally = false; diff --git a/include/GsrInfo.hpp b/include/GsrInfo.hpp index 6e49751..9673cd1 100644 --- a/include/GsrInfo.hpp +++ b/include/GsrInfo.hpp @@ -18,6 +18,13 @@ namespace gsr { bool av1_10bit = false; bool vp8 = false; bool vp9 = false; + bool h264_vulkan = false; + bool hevc_vulkan = false; + bool hevc_hdr_vulkan = false; + bool hevc_10bit_vulkan = false; + bool av1_vulkan = false; + bool av1_hdr_vulkan = false; + bool av1_10bit_vulkan = false; }; struct SupportedImageFormats { diff --git a/include/gui/SettingsPage.hpp b/include/gui/SettingsPage.hpp index 1eaa1cd..1ef889b 100644 --- a/include/gui/SettingsPage.hpp +++ b/include/gui/SettingsPage.hpp @@ -109,6 +109,7 @@ namespace gsr { std::unique_ptr create_framerate_mode(); std::unique_ptr create_framerate_section(); std::unique_ptr create_record_cursor_section(); + std::unique_ptr create_enable_vulkan_video_encoding_section(); std::unique_ptr create_video_section(); std::unique_ptr create_settings(); void add_widgets(); @@ -131,9 +132,9 @@ namespace gsr { std::unique_ptr create_save_recording_in_game_folder(); std::unique_ptr