aboutsummaryrefslogtreecommitdiff
path: root/server/replaytool
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-09-12 21:27:06 +0200
committermetamuffin <metamuffin@disroot.org>2025-09-12 21:27:06 +0200
commit42b018b19bc08044c0e5dd2a195abffbf96da7d9 (patch)
tree590a7aa1a8db189fa214aad20ec3b9350fae8498 /server/replaytool
parent732850dbde6788c7585ad0152e2ef6c17da79bfc (diff)
downloadhurrycurry-42b018b19bc08044c0e5dd2a195abffbf96da7d9.tar
hurrycurry-42b018b19bc08044c0e5dd2a195abffbf96da7d9.tar.bz2
hurrycurry-42b018b19bc08044c0e5dd2a195abffbf96da7d9.tar.zst
rendering driver
Diffstat (limited to 'server/replaytool')
-rw-r--r--server/replaytool/src/main.rs5
-rw-r--r--server/replaytool/src/render.rs10
2 files changed, 12 insertions, 3 deletions
diff --git a/server/replaytool/src/main.rs b/server/replaytool/src/main.rs
index 40496786..ec0bd682 100644
--- a/server/replaytool/src/main.rs
+++ b/server/replaytool/src/main.rs
@@ -55,6 +55,8 @@ enum Args {
/// Render without display server; Requires wlheadless-run and mutter
#[arg(short = 'H', long)]
headless: bool,
+ #[arg(long, default_value = "vulkan")]
+ rendering_driver: String,
},
}
@@ -117,8 +119,9 @@ async fn main() -> anyhow::Result<()> {
output,
framerate,
headless,
+ rendering_driver,
} => {
- render(&input, &output, framerate, headless).await?;
+ render(&input, &output, framerate, headless, &rendering_driver).await?;
}
}
Ok(())
diff --git a/server/replaytool/src/render.rs b/server/replaytool/src/render.rs
index 79eb483b..4bf9402c 100644
--- a/server/replaytool/src/render.rs
+++ b/server/replaytool/src/render.rs
@@ -22,7 +22,13 @@ use log::info;
use std::path::Path;
use tokio::{net::TcpListener, process::Command};
-pub async fn render(input: &Path, output: &Path, framerate: usize, headless: bool) -> Result<()> {
+pub async fn render(
+ input: &Path,
+ output: &Path,
+ framerate: usize,
+ headless: bool,
+ rendering_driver: &str,
+) -> Result<()> {
let port = 27090;
let ws_listener = TcpListener::bind(("127.0.0.1", port)).await?;
@@ -35,7 +41,7 @@ pub async fn render(input: &Path, output: &Path, framerate: usize, headless: boo
args.push("hurrycurry-client");
if headless {
args.extend(["--video-driver", "wayland"]);
- args.extend(["--rendering-driver", "vulkan"]);
+ args.extend(["--rendering-driver", rendering_driver]);
}
args.extend(["--write-movie", output.to_str().unwrap()]);
let fps = framerate.to_string();