2023-01-13 19:19:58 +11:00
|
|
|
//! OpenGL shader runtime options.
|
|
|
|
|
2022-12-05 14:48:57 +11:00
|
|
|
/// Options for each OpenGL shader frame.
|
2022-11-28 15:27:21 +11:00
|
|
|
#[repr(C)]
|
2023-02-10 15:36:09 +11:00
|
|
|
#[derive(Default, Debug, Clone)]
|
2023-01-14 08:55:50 +11:00
|
|
|
pub struct FrameOptionsGL {
|
2022-12-05 14:48:57 +11:00
|
|
|
/// Whether or not to clear the history buffers.
|
2022-11-30 17:38:05 +11:00
|
|
|
pub clear_history: bool,
|
2023-02-06 16:26:27 +11:00
|
|
|
/// The direction of rendering.
|
|
|
|
/// -1 indicates that the frames are played in reverse order.
|
2022-12-05 14:36:14 +11:00
|
|
|
pub frame_direction: i32,
|
2022-11-28 15:27:21 +11:00
|
|
|
}
|
|
|
|
|
2022-12-05 14:48:57 +11:00
|
|
|
/// Options for filter chain creation.
|
2022-11-28 15:27:21 +11:00
|
|
|
#[repr(C)]
|
2023-02-10 15:36:09 +11:00
|
|
|
#[derive(Default, Debug, Clone)]
|
2023-01-14 08:55:50 +11:00
|
|
|
pub struct FilterChainOptionsGL {
|
2022-12-05 14:48:57 +11:00
|
|
|
/// The GLSL version. Should be at least `330`.
|
2023-02-10 15:36:09 +11:00
|
|
|
pub glsl_version: u16,
|
2022-12-05 14:48:57 +11:00
|
|
|
/// Whether or not to use the Direct State Access APIs. Only available on OpenGL 4.5+.
|
2023-02-15 19:06:34 +11:00
|
|
|
/// This is required to use shader caching.
|
2022-12-01 11:05:24 +11:00
|
|
|
pub use_dsa: bool,
|
2023-01-12 10:25:31 +11:00
|
|
|
/// Whether or not to explicitly disable mipmap generation regardless of shader preset settings.
|
|
|
|
pub force_no_mipmaps: bool,
|
2023-02-15 19:06:34 +11:00
|
|
|
/// Disable the shader object cache. Shaders will be
|
|
|
|
/// recompiled rather than loaded from the cache.
|
|
|
|
pub disable_cache: bool,
|
2022-11-28 15:27:21 +11:00
|
|
|
}
|