mirror of
https://github.com/nestriness/nestri.git
synced 2026-09-24 19:42:24 +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 ..."](https://github.com/nestrilabs/nestri/commit/79e21f4aac6f5d15679072bf576ed8cb182805c3)</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" }
|