Option allow-d3d-render and fix ios ci (#11107)

* option `allow-d3d-render`, default false

Add this option because it fails on some machines

Signed-off-by: 21pages <sunboeasy@gmail.com>

* only add nokhwa to windows and linux dependencies

Signed-off-by: 21pages <sunboeasy@gmail.com>

---------

Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
21pages
2025-03-13 09:34:13 +08:00
committed by GitHub
parent 1403c939db
commit d1c8b331c5
60 changed files with 204 additions and 43 deletions

View File

@@ -993,6 +993,7 @@ pub fn main_get_env(key: String) -> SyncReturn<String> {
pub fn main_set_local_option(key: String, value: String) {
let is_texture_render_key = key.eq(config::keys::OPTION_TEXTURE_RENDER);
let is_d3d_render_key = key.eq(config::keys::OPTION_ALLOW_D3D_RENDER);
set_local_option(key, value.clone());
if is_texture_render_key {
let session_event = [("v", &value)];
@@ -1002,6 +1003,11 @@ pub fn main_set_local_option(key: String, value: String) {
session.ui_handler.update_use_texture_render();
}
}
if is_d3d_render_key {
for session in sessions::get_sessions() {
session.update_supported_decodings();
}
}
}
// We do use use `main_get_local_option` and `main_set_local_option`.
@@ -1650,7 +1656,7 @@ pub fn session_alternative_codecs(session_id: SessionID) -> String {
pub fn session_change_prefer_codec(session_id: SessionID) {
if let Some(session) = sessions::get_session_by_session_id(&session_id) {
session.change_prefer_codec();
session.update_supported_decodings();
}
}