pub mod shader; pub mod handles; pub mod canvas_text; pub mod gpu_buffers; pub mod compu_buffer; pub mod compu_kernel; use vulkano::pipeline::shader::{SpecializationConstants, SpecializationMapEntry}; #[repr(C)] #[derive(Default, Debug, Clone)] /// Specialization constants which can be passed to the shader. Pretty much placeholder ATM struct ShaderSpecializationConstants { first_constant: i32, second_constant: u32, third_constant: f32, } unsafe impl SpecializationConstants for ShaderSpecializationConstants { fn descriptors() -> &'static [SpecializationMapEntry] { static DESCRIPTORS: [SpecializationMapEntry; 3] = [ SpecializationMapEntry { constant_id: 0, offset: 0, size: 4, }, SpecializationMapEntry { constant_id: 1, offset: 4, size: 4, }, SpecializationMapEntry { constant_id: 2, offset: 8, size: 4, }, ]; &DESCRIPTORS } }