docs.rs failed to build syphon-wgpu-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Syphon wgpu Integration - Zero-Copy Edition
High-performance, zero-copy GPU-to-GPU Syphon integration for wgpu applications.
Overview
This crate provides:
SyphonWgpuOutput- Publish wgpu-rendered frames to Syphon clientsSyphonWgpuInput- Receive frames from Syphon servers as wgpu textures
Both use IOSurface-backed textures for zero-copy GPU transfer.
Native BGRA Format
This crate uses native macOS BGRA8Unorm format throughout. When rendering for Syphon output,
use wgpu::TextureFormat::Bgra8Unorm. When receiving from Syphon, you'll get BGRA data
directly without any format conversion.
Usage
Output (Server)
use syphon_wgpu::SyphonWgpuOutput;
let mut output = SyphonWgpuOutput::new(
"My App", &device, &queue, 1920, 1080
).expect("Failed to create Syphon output");
output.publish(&render_texture, &device, &queue);
Input (Client)
use syphon_wgpu::SyphonWgpuInput;
let mut input = SyphonWgpuInput::new(&device, &queue);
input.connect("Simple Server").unwrap();
if let Some(texture) = input.receive_texture(&device, &queue) {
// Texture is Bgra8Unorm (native Syphon format)
}