Foundation for hardware video decode in BOTH preview and export: wgpu textures can't cross devices, and a hardware-decoded frame is a DMA-BUF-imported texture that needs the import extensions (only addable via wgpu-hal device_from_raw). So eframe + the compositor + decode + encode must share ONE custom device. - vk_device::create_windowed(): the existing import-capable DrmDevice plus VK_KHR_swapchain (the WSI surface instance extensions are already enabled by Instance::init), for use as the editor's main device. - main.rs: on Linux, build the shared device and inject it into eframe via WgpuSetup::Existing (the egui fork supports it); fall back to wgpu's normal device + software decode on any failure, on other platforms, or via LB_NO_SHARED_DEVICE. The DrmDevice's wgpu handles are cloned into eframe (Arc-backed), so the VkDevice persists with them. Runtime-verified: the editor launches and renders identically (canvas/vello, video, panels) on the shared device, and the env-var fallback works. |
||
|---|---|---|
| .. | ||
| assets | ||
| examples | ||
| src | ||
| Cargo.toml | ||
| PLAN.md | ||
| TOOL_IMPLEMENTATION_PLAN.md | ||
| build.rs | ||