librashader/librashader-runtime-vk/src/lib.rs

83 lines
2.6 KiB
Rust
Raw Normal View History

2023-01-17 15:09:07 +11:00
//! librashader Vulkan runtime
//!
//! This crate should not be used directly.
//! See [`librashader::runtime::vk`](https://docs.rs/librashader/latest/librashader/runtime/vk/index.html) instead.
2022-12-06 17:01:21 +11:00
#![feature(type_alias_impl_trait)]
#![feature(let_chains)]
2022-12-25 17:18:11 +11:00
#![feature(strict_provenance)]
2022-12-06 13:01:15 +11:00
2022-12-22 13:39:31 +11:00
mod draw_quad;
2022-12-06 17:01:21 +11:00
mod filter_chain;
mod filter_pass;
2022-12-07 18:05:10 +11:00
mod framebuffer;
#[cfg(test)]
2023-01-10 14:54:54 +11:00
mod hello_triangle;
2022-12-22 13:39:31 +11:00
mod luts;
2023-01-13 17:48:04 +11:00
mod parameters;
mod queue_selection;
mod render_target;
2022-12-22 14:03:38 +11:00
mod samplers;
2022-12-22 17:30:14 +11:00
mod texture;
2023-01-10 14:54:54 +11:00
mod util;
mod vulkan_primitives;
mod vulkan_state;
pub use filter_chain::FilterChainVulkan;
2023-01-13 18:32:21 +11:00
pub use filter_chain::VulkanInstance;
2023-01-15 19:06:09 +11:00
pub use filter_chain::VulkanObjects;
2023-01-13 17:48:04 +11:00
pub use texture::VulkanImage;
pub mod error;
pub mod options;
mod render_pass;
2022-12-06 13:01:15 +11:00
#[cfg(test)]
mod tests {
use crate::filter_chain::FilterChainVulkan;
use crate::hello_triangle::vulkan_base::VulkanBase;
use crate::options::FilterChainOptionsVulkan;
2023-01-29 18:30:58 +11:00
use ash::vk;
2022-12-06 13:01:15 +11:00
#[test]
fn triangle_vk() {
2023-01-10 14:54:54 +11:00
let entry = unsafe { ash::Entry::load().unwrap() };
let base = VulkanBase::new(entry).unwrap();
dbg!("finished");
2023-01-16 03:08:13 +11:00
let filter = FilterChainVulkan::load_from_path(
&base,
2023-01-12 16:00:45 +11:00
// "../test/slang-shaders/border/gameboy-player/gameboy-player-crt-royale.slangp",
"../test/slang-shaders/bezel/Mega_Bezel/Presets/MBZ__0__SMOOTH-ADV.slangp",
// "../test/basic.slangp",
Some(&FilterChainOptionsVulkan {
frames_in_flight: 3,
force_no_mipmaps: false,
render_pass_format: vk::Format::R8G8B8A8_UNORM,
}),
2023-01-10 14:54:54 +11:00
)
.unwrap();
crate::hello_triangle::main(base, filter)
// let base = hello_triangle_old::ExampleBase::new(900, 600);
// // let mut filter = FilterChainVulkan::load_from_path(
// // (base.device.clone(), base.present_queue.clone(), base.device_memory_properties.clone()),
// // "../test/slang-shaders/border/gameboy-player/gameboy-player-crt-royale.slangp",
// // None
// // )
//
2022-12-22 13:13:35 +11:00
// let mut filter = FilterChainVulkan::load_from_path(
// (
// base.device.clone(),
// base.present_queue.clone(),
// base.device_memory_properties.clone(),
// ),
2022-12-22 13:13:35 +11:00
// "../test/slang-shaders/border/gameboy-player/gameboy-player-crt-royale.slangp",
// None,
2022-12-22 13:13:35 +11:00
// )
// // FilterChain::load_from_path("../test/slang-shaders/bezel/Mega_Bezel/Presets/MBZ__0__SMOOTH-ADV.slangp", None)
// .unwrap();
// hello_triangle_old::main(base, filter);
2022-12-06 13:01:15 +11:00
}
}