Skip to main content

Crate damascene_ash

Crate damascene_ash 

Source
Expand description

Low-level ash/Vulkan renderer adapter for custom Damascene hosts.

Use this crate when your application already owns an ash renderer and wants to draw Damascene UI into its frame graph. The host remains responsible for the Vulkan instance, physical device selection, logical device, queues, command pools, command buffers, synchronization, swapchain/surfaces, frame pacing, and platform event loop.

The public entry point is Runner. Its surface intentionally mirrors damascene-wgpu / damascene-vulkano where ash allows it: Damascene owns interaction state and draw-op preparation; the host owns Vulkan frame management.

Rendering support is intentionally staged. Stock quad shaders, text, raster images, flat MSDF icon/vector masks, and tessellated/painted vectors are wired, and host-owned Vulkan textures can be composited through app_texture. Backdrop sampling remains unsupported.

Structs§

AshAppTexture
Host-owned ash texture that Damascene can sample during paint.
AshContext
Host-owned Vulkan context that damascene-ash borrows for resource creation and command recording.
AshRenderTarget
A host-owned image/view pair Damascene can render into.
LayoutPrepared
What [RunnerCore::prepare_layout] returns: the resolved DrawOp list plus the redraw deadlines split into two lanes (see PrepareResult for the lane semantics).
PointerMove
Outcome of a pointer-move dispatch through [RunnerCore::pointer_moved] (or its backend wrappers).
PrepareResult
Reported back from each backend’s prepare(...) per frame.
PrepareTimings
Per-stage CPU timing inside each backend’s prepare. Cheap to compute (a handful of Instant::now() calls per frame) and useful for finding the dominant cost when frame budget is tight.
PreparedFrame
Lightweight diagnostic returned by Runner::prepared_frame.
Runner
Ash runtime owned by a custom host. One runner per compatible target.
TargetInfo
Pipeline/target compatibility information supplied at construction.

Enums§

CompileError
Errors surfaced while compiling a WGSL shader to SPIR-V.
Error
Errors surfaced by the ash backend.
LoadOp
Load operation for the first Damascene-owned rendering scope.
PaintItem
Sequencing entry for the recorded paint stream.

Functions§

app_texture
Wrap a host-owned Vulkan image/view pair as an Damascene app texture.
app_texture_with_layout
Wrap a host-owned Vulkan image/view pair with an explicit sampled image layout.
required_device_extensions
Device extensions required by the renderer itself.
required_device_features
Vulkan device features the ash runner’s stock pipelines depend on.
required_vulkan_13_features
Vulkan 1.3 feature-chain requirements for the ash backend.
wgsl_to_spirv
Compile a WGSL source string to SPIR-V words suitable for ash::Device::create_shader_module.

Type Aliases§

Result