mirror of
https://github.com/nestriness/nestri.git
synced 2026-09-20 01:35:19 +03:00
Make nescapture better with proper queue family checks, FPS limiting,
semaphore usage and other.. also updated deps like pollster and
pixelforge.
<!-- greptile_comment -->
<!-- greptile_summary -->
<h2><a
href="https://app.greptile.com/api/retrigger?id=64083904"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/RetriggerDark.svg?v=1"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=1"><img
alt="Retrigger"
src="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=1"
align="right"></picture></a>Confidence Score: 5/5</h2>
The final review contains no accepted findings, so the PR appears safe
to merge.
<h3>Summary</h3>
- This PR reworks `nescapture` frame capture around a four-slot DMA-BUF
ring, tracks presentation queue families, adds semaphore-based
capture/present ordering, introduces capture frame-rate pacing, carries
presentation timestamps through encoding, and updates Vulkan-related
dependencies.
<sub>Reviews (1) · Last reviewed commit: ["feat: Update deps and remove
deprecated
..."](79e21f4aac)</sub>
<!-- /greptile_comment -->
---------
Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
42 lines
1019 B
TOML
42 lines
1019 B
TOML
[package]
|
|
name = "nescapture"
|
|
version = "0.2.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "Vulkan implicit layer: direct frame capture, Vulkan Video encode, and IPC out to the session transport"
|
|
|
|
[lib]
|
|
name = "nescapture_layer"
|
|
crate-type = ["cdylib"]
|
|
|
|
[dependencies]
|
|
# Vulkan bindings
|
|
ash = { git = "https://github.com/ash-rs/ash", rev = "f4c2ca3e4f6b998d5254ad101a32f024d87cdec2" }
|
|
# Shader fingerprinting
|
|
sha2 = "0.10"
|
|
bytemuck = "1"
|
|
|
|
# Concurrent state maps
|
|
dashmap = "6"
|
|
once_cell = "1"
|
|
pollster = "1.0"
|
|
|
|
# Logging
|
|
log = "0.4"
|
|
env_logger = "0.11"
|
|
anyhow = "1"
|
|
|
|
# Per-game shader-hash config
|
|
toml = "0.8"
|
|
serde = { version = "1", features = ["derive"] }
|
|
|
|
# Vulkan Video hardware encoding.
|
|
pixelforge = { git = "https://github.com/hgaiser/pixelforge.git", rev = "936d412e1a73917e0e108c4ab18bf5208b1681ac", features = ["dmabuf"] }
|
|
|
|
# libc for DMA-BUF OS primitives
|
|
libc = "0.2"
|
|
|
|
# Shared IPC protocol
|
|
nesprotocol = { path = "../../crates/nesprotocol" }
|