2023-01-13 03:19:58 -05:00
|
|
|
//! Vulkan shader runtime options.
|
|
|
|
|
2023-01-13 02:10:07 -05:00
|
|
|
/// Options for each Vulkan shader frame.
|
|
|
|
#[repr(C)]
|
2023-02-09 23:36:09 -05:00
|
|
|
#[derive(Default, Debug, Clone)]
|
2023-01-13 16:55:50 -05:00
|
|
|
pub struct FrameOptionsVulkan {
|
2023-01-13 02:10:07 -05:00
|
|
|
/// Whether or not to clear the history buffers.
|
|
|
|
pub clear_history: bool,
|
2023-02-06 00:26:27 -05:00
|
|
|
/// The direction of rendering.
|
|
|
|
/// -1 indicates that the frames are played in reverse order.
|
2023-01-13 02:10:07 -05:00
|
|
|
pub frame_direction: i32,
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Options for filter chain creation.
|
|
|
|
#[repr(C)]
|
2023-02-09 23:36:09 -05:00
|
|
|
#[derive(Default, Debug, Clone)]
|
2023-01-13 16:55:50 -05:00
|
|
|
pub struct FilterChainOptionsVulkan {
|
2023-01-13 04:13:16 -05:00
|
|
|
/// The number of frames in flight to keep. If zero, defaults to three.
|
|
|
|
pub frames_in_flight: u32,
|
2023-01-13 02:10:07 -05:00
|
|
|
/// Whether or not to explicitly disable mipmap generation regardless of shader preset settings.
|
|
|
|
pub force_no_mipmaps: bool,
|
2023-01-30 01:31:14 -05:00
|
|
|
/// Use explicit render pass objects It is recommended if possible to use dynamic rendering,
|
2023-01-25 23:45:10 -05:00
|
|
|
/// because render-pass mode will create new framebuffers per pass.
|
2023-01-30 01:31:14 -05:00
|
|
|
pub use_render_pass: bool,
|
2023-02-15 03:06:34 -05:00
|
|
|
/// Disable the shader object cache. Shaders will be
|
|
|
|
/// recompiled rather than loaded from the cache.
|
|
|
|
pub disable_cache: bool,
|
2023-01-13 02:10:07 -05:00
|
|
|
}
|