diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5a1e26e..f4fa22b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -4,6 +4,7 @@ on: - main pull_request: merge_group: + workflow_dispatch: name: CI diff --git a/generated/graphics/cargo-gpu/Cargo.toml b/generated/graphics/cargo-gpu/Cargo.toml index e5a1763..f28b950 100644 --- a/generated/graphics/cargo-gpu/Cargo.toml +++ b/generated/graphics/cargo-gpu/Cargo.toml @@ -1,7 +1,7 @@ [workspace] members = [ - "ash", - "shaders" + "mygraphics", + "mygraphics-shaders" ] resolver = "3" diff --git a/graphics/shaders/Cargo.toml b/generated/graphics/cargo-gpu/mygraphics-shaders/Cargo.toml similarity index 87% rename from graphics/shaders/Cargo.toml rename to generated/graphics/cargo-gpu/mygraphics-shaders/Cargo.toml index c6b52e0..0860c8b 100644 --- a/graphics/shaders/Cargo.toml +++ b/generated/graphics/cargo-gpu/mygraphics-shaders/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "graphics-shaders" +name = "mygraphics-shaders" version = "0.1.0" edition = "2024" diff --git a/generated/graphics/cargo-gpu/shaders/src/lib.rs b/generated/graphics/cargo-gpu/mygraphics-shaders/src/lib.rs similarity index 100% rename from generated/graphics/cargo-gpu/shaders/src/lib.rs rename to generated/graphics/cargo-gpu/mygraphics-shaders/src/lib.rs diff --git a/generated/graphics/cargo-gpu/ash/Cargo.toml b/generated/graphics/cargo-gpu/mygraphics/Cargo.toml similarity index 84% rename from generated/graphics/cargo-gpu/ash/Cargo.toml rename to generated/graphics/cargo-gpu/mygraphics/Cargo.toml index d074c7c..35b36ee 100644 --- a/generated/graphics/cargo-gpu/ash/Cargo.toml +++ b/generated/graphics/cargo-gpu/mygraphics/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "graphics-ash" +name = "mygraphics" publish = false version.workspace = true authors.workspace = true @@ -11,7 +11,7 @@ repository.workspace = true workspace = true [dependencies] -graphics-shaders = { path = "../shaders" } +mygraphics-shaders = { path = "../mygraphics-shaders" } ash.workspace = true ash-window.workspace = true diff --git a/generated/graphics/cargo-gpu/ash/build.rs b/generated/graphics/cargo-gpu/mygraphics/build.rs similarity index 92% rename from generated/graphics/cargo-gpu/ash/build.rs rename to generated/graphics/cargo-gpu/mygraphics/build.rs index 17c3e01..0219afa 100644 --- a/generated/graphics/cargo-gpu/ash/build.rs +++ b/generated/graphics/cargo-gpu/mygraphics/build.rs @@ -4,7 +4,7 @@ use std::path::PathBuf; pub fn main() -> anyhow::Result<()> { let manifest_dir = env!("CARGO_MANIFEST_DIR"); - let crate_path = [manifest_dir, "..", "shaders"] + let crate_path = [manifest_dir, "..", "mygraphics-shaders"] .iter() .copied() .collect::(); diff --git a/generated/graphics/cargo-gpu/ash/src/device.rs b/generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/device.rs similarity index 100% rename from generated/graphics/cargo-gpu/ash/src/device.rs rename to generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/device.rs diff --git a/graphics/ash/src/graphics.rs b/generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/graphics.rs similarity index 98% rename from graphics/ash/src/graphics.rs rename to generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/graphics.rs index 18c6437..b860caf 100644 --- a/graphics/ash/src/graphics.rs +++ b/generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/graphics.rs @@ -1,9 +1,9 @@ -use crate::device::MyDevice; -use crate::single_command_buffer::SingleCommandBuffer; -use crate::swapchain::DrawFrame; +use crate::ash_renderer::device::MyDevice; +use crate::ash_renderer::single_command_buffer::SingleCommandBuffer; +use crate::ash_renderer::swapchain::DrawFrame; use anyhow::Context; use ash::vk; -use graphics_shaders::ShaderConstants; +use mygraphics_shaders::ShaderConstants; use std::sync::Arc; /// Manages the creation and recreation of [`MyRenderPipeline`], whenever new shader code ([`Self::set_shader_code`]) diff --git a/generated/graphics/spirv-builder/ash/src/main.rs b/generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/mod.rs similarity index 55% rename from generated/graphics/spirv-builder/ash/src/main.rs rename to generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/mod.rs index 45bdd81..d987d4f 100644 --- a/generated/graphics/spirv-builder/ash/src/main.rs +++ b/generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/mod.rs @@ -1,80 +1,9 @@ -// FIXME(eddyb) update/review these lints. -// -// BEGIN - Embark standard lints v0.4 -// do not change or add/remove here, but one can add exceptions after this section -// for more info see: -//#![deny(unsafe_code)] // impractical in this crate dealing with unsafe `ash` -#![warn( - clippy::all, - clippy::await_holding_lock, - clippy::char_lit_as_u8, - clippy::checked_conversions, - clippy::dbg_macro, - clippy::debug_assert_with_mut_call, - clippy::doc_markdown, - clippy::empty_enum, - clippy::enum_glob_use, - clippy::exit, - clippy::expl_impl_clone_on_copy, - clippy::explicit_deref_methods, - clippy::explicit_into_iter_loop, - clippy::fallible_impl_from, - clippy::filter_map_next, - clippy::float_cmp_const, - clippy::fn_params_excessive_bools, - clippy::if_let_mutex, - clippy::implicit_clone, - clippy::imprecise_flops, - clippy::inefficient_to_string, - clippy::invalid_upcast_comparisons, - clippy::large_types_passed_by_value, - clippy::let_unit_value, - clippy::linkedlist, - clippy::lossy_float_literal, - clippy::macro_use_imports, - clippy::manual_ok_or, - clippy::map_err_ignore, - clippy::map_flatten, - clippy::map_unwrap_or, - clippy::match_same_arms, - clippy::match_wildcard_for_single_variants, - clippy::mem_forget, - clippy::mut_mut, - clippy::mutex_integer, - clippy::needless_borrow, - clippy::needless_continue, - clippy::option_option, - clippy::path_buf_push_overwrite, - clippy::ptr_as_ptr, - clippy::ref_option_ref, - clippy::rest_pat_in_fully_bound_structs, - clippy::same_functions_in_if_condition, - clippy::semicolon_if_nothing_returned, - clippy::string_add_assign, - clippy::string_add, - clippy::string_lit_as_bytes, - clippy::string_to_string, - clippy::todo, - clippy::trait_duplication_in_bounds, - clippy::unimplemented, - clippy::unnested_or_patterns, - clippy::unused_self, - clippy::useless_transmute, - clippy::verbose_file_reads, - clippy::zero_sized_map_values, - future_incompatible, - nonstandard_style, - rust_2018_idioms -)] -// END - Embark standard lints v0.4 -// crate-specific exceptions: -// #![allow()] - -use crate::device::MyDevice; -use crate::graphics::{MyRenderPipelineManager, MyRenderer}; -use crate::swapchain::MySwapchainManager; +use crate::ash_renderer::device::MyDevice; +use crate::ash_renderer::graphics::{MyRenderPipelineManager, MyRenderer}; +use crate::ash_renderer::swapchain::MySwapchainManager; +use crate::enable_debug_layer; use ash::util::read_spv; -use graphics_shaders::ShaderConstants; +use mygraphics_shaders::ShaderConstants; use raw_window_handle::HasDisplayHandle as _; use winit::event_loop::ActiveEventLoop; use winit::{ @@ -88,10 +17,6 @@ pub mod single_command_buffer; pub mod swapchain; pub fn main() -> anyhow::Result<()> { - let enable_debug_layer = std::env::var("DEBUG_LAYER") - .map(|e| !(e == "0" || e == "false")) - .unwrap_or(false); - // runtime setup let event_loop = EventLoop::new()?; // FIXME(eddyb) incomplete `winit` upgrade, follow the guides in: @@ -107,7 +32,7 @@ pub fn main() -> anyhow::Result<()> { )?; let extensions = ash_window::enumerate_required_extensions(window.display_handle()?.as_raw())?; - let device = MyDevice::new(extensions, enable_debug_layer)?; + let device = MyDevice::new(extensions, enable_debug_layer())?; let mut swapchain = MySwapchainManager::new(device.clone(), window)?; let mut renderer = MyRenderer::new(MyRenderPipelineManager::new( device.clone(), diff --git a/generated/graphics/cargo-gpu/ash/src/single_command_buffer.rs b/generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/single_command_buffer.rs similarity index 96% rename from generated/graphics/cargo-gpu/ash/src/single_command_buffer.rs rename to generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/single_command_buffer.rs index 15137a1..e02a198 100644 --- a/generated/graphics/cargo-gpu/ash/src/single_command_buffer.rs +++ b/generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/single_command_buffer.rs @@ -1,4 +1,4 @@ -use crate::device::MyDevice; +use crate::ash_renderer::device::MyDevice; use ash::vk; use std::sync::Arc; diff --git a/generated/graphics/cargo-gpu/ash/src/swapchain.rs b/generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/swapchain.rs similarity index 99% rename from generated/graphics/cargo-gpu/ash/src/swapchain.rs rename to generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/swapchain.rs index 7142187..5b2ae94 100644 --- a/generated/graphics/cargo-gpu/ash/src/swapchain.rs +++ b/generated/graphics/cargo-gpu/mygraphics/src/ash_renderer/swapchain.rs @@ -1,4 +1,4 @@ -use crate::device::MyDevice; +use crate::ash_renderer::device::MyDevice; use anyhow::Context; use ash::vk; use raw_window_handle::{HasDisplayHandle, HasWindowHandle}; diff --git a/generated/graphics/cargo-gpu/mygraphics/src/main.rs b/generated/graphics/cargo-gpu/mygraphics/src/main.rs new file mode 100644 index 0000000..1035edc --- /dev/null +++ b/generated/graphics/cargo-gpu/mygraphics/src/main.rs @@ -0,0 +1,83 @@ +// FIXME(eddyb) update/review these lints. +// +// BEGIN - Embark standard lints v0.4 +// do not change or add/remove here, but one can add exceptions after this section +// for more info see: +//#![deny(unsafe_code)] // impractical in this crate dealing with unsafe `ash` +#![warn( + clippy::all, + clippy::await_holding_lock, + clippy::char_lit_as_u8, + clippy::checked_conversions, + clippy::dbg_macro, + clippy::debug_assert_with_mut_call, + clippy::doc_markdown, + clippy::empty_enum, + clippy::enum_glob_use, + clippy::exit, + clippy::expl_impl_clone_on_copy, + clippy::explicit_deref_methods, + clippy::explicit_into_iter_loop, + clippy::fallible_impl_from, + clippy::filter_map_next, + clippy::float_cmp_const, + clippy::fn_params_excessive_bools, + clippy::if_let_mutex, + clippy::implicit_clone, + clippy::imprecise_flops, + clippy::inefficient_to_string, + clippy::invalid_upcast_comparisons, + clippy::large_types_passed_by_value, + clippy::let_unit_value, + clippy::linkedlist, + clippy::lossy_float_literal, + clippy::macro_use_imports, + clippy::manual_ok_or, + clippy::map_err_ignore, + clippy::map_flatten, + clippy::map_unwrap_or, + clippy::match_same_arms, + clippy::match_wildcard_for_single_variants, + clippy::mem_forget, + clippy::mut_mut, + clippy::mutex_integer, + clippy::needless_borrow, + clippy::needless_continue, + clippy::option_option, + clippy::path_buf_push_overwrite, + clippy::ptr_as_ptr, + clippy::ref_option_ref, + clippy::rest_pat_in_fully_bound_structs, + clippy::same_functions_in_if_condition, + clippy::semicolon_if_nothing_returned, + clippy::string_add_assign, + clippy::string_add, + clippy::string_lit_as_bytes, + clippy::string_to_string, + clippy::todo, + clippy::trait_duplication_in_bounds, + clippy::unimplemented, + clippy::unnested_or_patterns, + clippy::unused_self, + clippy::useless_transmute, + clippy::verbose_file_reads, + clippy::zero_sized_map_values, + future_incompatible, + nonstandard_style, + rust_2018_idioms +)] +// END - Embark standard lints v0.4 +// crate-specific exceptions: +// #![allow()] + +pub mod ash_renderer; + +pub fn main() -> anyhow::Result<()> { + ash_renderer::main() +} + +pub fn enable_debug_layer() -> bool { + std::env::var("DEBUG_LAYER") + .map(|e| !(e == "0" || e == "false")) + .unwrap_or(false) +} diff --git a/generated/graphics/spirv-builder/Cargo.toml b/generated/graphics/spirv-builder/Cargo.toml index cba5b4e..8cda13c 100644 --- a/generated/graphics/spirv-builder/Cargo.toml +++ b/generated/graphics/spirv-builder/Cargo.toml @@ -1,7 +1,7 @@ [workspace] members = [ - "ash", - "shaders" + "mygraphics", + "mygraphics-shaders" ] resolver = "3" diff --git a/generated/graphics/cargo-gpu/shaders/Cargo.toml b/generated/graphics/spirv-builder/mygraphics-shaders/Cargo.toml similarity index 87% rename from generated/graphics/cargo-gpu/shaders/Cargo.toml rename to generated/graphics/spirv-builder/mygraphics-shaders/Cargo.toml index c6b52e0..0860c8b 100644 --- a/generated/graphics/cargo-gpu/shaders/Cargo.toml +++ b/generated/graphics/spirv-builder/mygraphics-shaders/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "graphics-shaders" +name = "mygraphics-shaders" version = "0.1.0" edition = "2024" diff --git a/generated/graphics/spirv-builder/shaders/src/lib.rs b/generated/graphics/spirv-builder/mygraphics-shaders/src/lib.rs similarity index 100% rename from generated/graphics/spirv-builder/shaders/src/lib.rs rename to generated/graphics/spirv-builder/mygraphics-shaders/src/lib.rs diff --git a/generated/graphics/spirv-builder/ash/Cargo.toml b/generated/graphics/spirv-builder/mygraphics/Cargo.toml similarity index 88% rename from generated/graphics/spirv-builder/ash/Cargo.toml rename to generated/graphics/spirv-builder/mygraphics/Cargo.toml index c144a55..972e8a8 100644 --- a/generated/graphics/spirv-builder/ash/Cargo.toml +++ b/generated/graphics/spirv-builder/mygraphics/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "graphics-ash" +name = "mygraphics" publish = false version.workspace = true authors.workspace = true @@ -15,7 +15,7 @@ default = ["use-compiled-tools"] use-installed-tools = ["spirv-builder/use-installed-tools"] use-compiled-tools = ["spirv-builder/use-compiled-tools"] [dependencies] -graphics-shaders = { path = "../shaders" } +mygraphics-shaders = { path = "../mygraphics-shaders" } ash.workspace = true ash-window.workspace = true diff --git a/generated/graphics/spirv-builder/ash/build.rs b/generated/graphics/spirv-builder/mygraphics/build.rs similarity index 91% rename from generated/graphics/spirv-builder/ash/build.rs rename to generated/graphics/spirv-builder/mygraphics/build.rs index 278e9b8..5993ae2 100644 --- a/generated/graphics/spirv-builder/ash/build.rs +++ b/generated/graphics/spirv-builder/mygraphics/build.rs @@ -3,7 +3,7 @@ use std::path::PathBuf; pub fn main() -> anyhow::Result<()> { let manifest_dir = env!("CARGO_MANIFEST_DIR"); - let crate_path = [manifest_dir, "..", "shaders"] + let crate_path = [manifest_dir, "..", "mygraphics-shaders"] .iter() .copied() .collect::(); diff --git a/generated/graphics/spirv-builder/ash/src/device.rs b/generated/graphics/spirv-builder/mygraphics/src/ash_renderer/device.rs similarity index 100% rename from generated/graphics/spirv-builder/ash/src/device.rs rename to generated/graphics/spirv-builder/mygraphics/src/ash_renderer/device.rs diff --git a/generated/graphics/spirv-builder/ash/src/graphics.rs b/generated/graphics/spirv-builder/mygraphics/src/ash_renderer/graphics.rs similarity index 98% rename from generated/graphics/spirv-builder/ash/src/graphics.rs rename to generated/graphics/spirv-builder/mygraphics/src/ash_renderer/graphics.rs index 18c6437..b860caf 100644 --- a/generated/graphics/spirv-builder/ash/src/graphics.rs +++ b/generated/graphics/spirv-builder/mygraphics/src/ash_renderer/graphics.rs @@ -1,9 +1,9 @@ -use crate::device::MyDevice; -use crate::single_command_buffer::SingleCommandBuffer; -use crate::swapchain::DrawFrame; +use crate::ash_renderer::device::MyDevice; +use crate::ash_renderer::single_command_buffer::SingleCommandBuffer; +use crate::ash_renderer::swapchain::DrawFrame; use anyhow::Context; use ash::vk; -use graphics_shaders::ShaderConstants; +use mygraphics_shaders::ShaderConstants; use std::sync::Arc; /// Manages the creation and recreation of [`MyRenderPipeline`], whenever new shader code ([`Self::set_shader_code`]) diff --git a/graphics/ash/src/main.rs b/generated/graphics/spirv-builder/mygraphics/src/ash_renderer/mod.rs similarity index 55% rename from graphics/ash/src/main.rs rename to generated/graphics/spirv-builder/mygraphics/src/ash_renderer/mod.rs index 45bdd81..d987d4f 100644 --- a/graphics/ash/src/main.rs +++ b/generated/graphics/spirv-builder/mygraphics/src/ash_renderer/mod.rs @@ -1,80 +1,9 @@ -// FIXME(eddyb) update/review these lints. -// -// BEGIN - Embark standard lints v0.4 -// do not change or add/remove here, but one can add exceptions after this section -// for more info see: -//#![deny(unsafe_code)] // impractical in this crate dealing with unsafe `ash` -#![warn( - clippy::all, - clippy::await_holding_lock, - clippy::char_lit_as_u8, - clippy::checked_conversions, - clippy::dbg_macro, - clippy::debug_assert_with_mut_call, - clippy::doc_markdown, - clippy::empty_enum, - clippy::enum_glob_use, - clippy::exit, - clippy::expl_impl_clone_on_copy, - clippy::explicit_deref_methods, - clippy::explicit_into_iter_loop, - clippy::fallible_impl_from, - clippy::filter_map_next, - clippy::float_cmp_const, - clippy::fn_params_excessive_bools, - clippy::if_let_mutex, - clippy::implicit_clone, - clippy::imprecise_flops, - clippy::inefficient_to_string, - clippy::invalid_upcast_comparisons, - clippy::large_types_passed_by_value, - clippy::let_unit_value, - clippy::linkedlist, - clippy::lossy_float_literal, - clippy::macro_use_imports, - clippy::manual_ok_or, - clippy::map_err_ignore, - clippy::map_flatten, - clippy::map_unwrap_or, - clippy::match_same_arms, - clippy::match_wildcard_for_single_variants, - clippy::mem_forget, - clippy::mut_mut, - clippy::mutex_integer, - clippy::needless_borrow, - clippy::needless_continue, - clippy::option_option, - clippy::path_buf_push_overwrite, - clippy::ptr_as_ptr, - clippy::ref_option_ref, - clippy::rest_pat_in_fully_bound_structs, - clippy::same_functions_in_if_condition, - clippy::semicolon_if_nothing_returned, - clippy::string_add_assign, - clippy::string_add, - clippy::string_lit_as_bytes, - clippy::string_to_string, - clippy::todo, - clippy::trait_duplication_in_bounds, - clippy::unimplemented, - clippy::unnested_or_patterns, - clippy::unused_self, - clippy::useless_transmute, - clippy::verbose_file_reads, - clippy::zero_sized_map_values, - future_incompatible, - nonstandard_style, - rust_2018_idioms -)] -// END - Embark standard lints v0.4 -// crate-specific exceptions: -// #![allow()] - -use crate::device::MyDevice; -use crate::graphics::{MyRenderPipelineManager, MyRenderer}; -use crate::swapchain::MySwapchainManager; +use crate::ash_renderer::device::MyDevice; +use crate::ash_renderer::graphics::{MyRenderPipelineManager, MyRenderer}; +use crate::ash_renderer::swapchain::MySwapchainManager; +use crate::enable_debug_layer; use ash::util::read_spv; -use graphics_shaders::ShaderConstants; +use mygraphics_shaders::ShaderConstants; use raw_window_handle::HasDisplayHandle as _; use winit::event_loop::ActiveEventLoop; use winit::{ @@ -88,10 +17,6 @@ pub mod single_command_buffer; pub mod swapchain; pub fn main() -> anyhow::Result<()> { - let enable_debug_layer = std::env::var("DEBUG_LAYER") - .map(|e| !(e == "0" || e == "false")) - .unwrap_or(false); - // runtime setup let event_loop = EventLoop::new()?; // FIXME(eddyb) incomplete `winit` upgrade, follow the guides in: @@ -107,7 +32,7 @@ pub fn main() -> anyhow::Result<()> { )?; let extensions = ash_window::enumerate_required_extensions(window.display_handle()?.as_raw())?; - let device = MyDevice::new(extensions, enable_debug_layer)?; + let device = MyDevice::new(extensions, enable_debug_layer())?; let mut swapchain = MySwapchainManager::new(device.clone(), window)?; let mut renderer = MyRenderer::new(MyRenderPipelineManager::new( device.clone(), diff --git a/graphics/ash/src/single_command_buffer.rs b/generated/graphics/spirv-builder/mygraphics/src/ash_renderer/single_command_buffer.rs similarity index 96% rename from graphics/ash/src/single_command_buffer.rs rename to generated/graphics/spirv-builder/mygraphics/src/ash_renderer/single_command_buffer.rs index 15137a1..e02a198 100644 --- a/graphics/ash/src/single_command_buffer.rs +++ b/generated/graphics/spirv-builder/mygraphics/src/ash_renderer/single_command_buffer.rs @@ -1,4 +1,4 @@ -use crate::device::MyDevice; +use crate::ash_renderer::device::MyDevice; use ash::vk; use std::sync::Arc; diff --git a/graphics/ash/src/swapchain.rs b/generated/graphics/spirv-builder/mygraphics/src/ash_renderer/swapchain.rs similarity index 99% rename from graphics/ash/src/swapchain.rs rename to generated/graphics/spirv-builder/mygraphics/src/ash_renderer/swapchain.rs index 7142187..5b2ae94 100644 --- a/graphics/ash/src/swapchain.rs +++ b/generated/graphics/spirv-builder/mygraphics/src/ash_renderer/swapchain.rs @@ -1,4 +1,4 @@ -use crate::device::MyDevice; +use crate::ash_renderer::device::MyDevice; use anyhow::Context; use ash::vk; use raw_window_handle::{HasDisplayHandle, HasWindowHandle}; diff --git a/generated/graphics/spirv-builder/mygraphics/src/main.rs b/generated/graphics/spirv-builder/mygraphics/src/main.rs new file mode 100644 index 0000000..1035edc --- /dev/null +++ b/generated/graphics/spirv-builder/mygraphics/src/main.rs @@ -0,0 +1,83 @@ +// FIXME(eddyb) update/review these lints. +// +// BEGIN - Embark standard lints v0.4 +// do not change or add/remove here, but one can add exceptions after this section +// for more info see: +//#![deny(unsafe_code)] // impractical in this crate dealing with unsafe `ash` +#![warn( + clippy::all, + clippy::await_holding_lock, + clippy::char_lit_as_u8, + clippy::checked_conversions, + clippy::dbg_macro, + clippy::debug_assert_with_mut_call, + clippy::doc_markdown, + clippy::empty_enum, + clippy::enum_glob_use, + clippy::exit, + clippy::expl_impl_clone_on_copy, + clippy::explicit_deref_methods, + clippy::explicit_into_iter_loop, + clippy::fallible_impl_from, + clippy::filter_map_next, + clippy::float_cmp_const, + clippy::fn_params_excessive_bools, + clippy::if_let_mutex, + clippy::implicit_clone, + clippy::imprecise_flops, + clippy::inefficient_to_string, + clippy::invalid_upcast_comparisons, + clippy::large_types_passed_by_value, + clippy::let_unit_value, + clippy::linkedlist, + clippy::lossy_float_literal, + clippy::macro_use_imports, + clippy::manual_ok_or, + clippy::map_err_ignore, + clippy::map_flatten, + clippy::map_unwrap_or, + clippy::match_same_arms, + clippy::match_wildcard_for_single_variants, + clippy::mem_forget, + clippy::mut_mut, + clippy::mutex_integer, + clippy::needless_borrow, + clippy::needless_continue, + clippy::option_option, + clippy::path_buf_push_overwrite, + clippy::ptr_as_ptr, + clippy::ref_option_ref, + clippy::rest_pat_in_fully_bound_structs, + clippy::same_functions_in_if_condition, + clippy::semicolon_if_nothing_returned, + clippy::string_add_assign, + clippy::string_add, + clippy::string_lit_as_bytes, + clippy::string_to_string, + clippy::todo, + clippy::trait_duplication_in_bounds, + clippy::unimplemented, + clippy::unnested_or_patterns, + clippy::unused_self, + clippy::useless_transmute, + clippy::verbose_file_reads, + clippy::zero_sized_map_values, + future_incompatible, + nonstandard_style, + rust_2018_idioms +)] +// END - Embark standard lints v0.4 +// crate-specific exceptions: +// #![allow()] + +pub mod ash_renderer; + +pub fn main() -> anyhow::Result<()> { + ash_renderer::main() +} + +pub fn enable_debug_layer() -> bool { + std::env::var("DEBUG_LAYER") + .map(|e| !(e == "0" || e == "false")) + .unwrap_or(false) +} diff --git a/graphics/Cargo.toml.liquid b/graphics/Cargo.toml.liquid index 97e1458..7794d07 100644 --- a/graphics/Cargo.toml.liquid +++ b/graphics/Cargo.toml.liquid @@ -1,7 +1,7 @@ [workspace] members = [ - "ash", - "shaders" + "mygraphics", + "mygraphics-shaders" ] resolver = "3" diff --git a/generated/graphics/spirv-builder/shaders/Cargo.toml b/graphics/mygraphics-shaders/Cargo.toml similarity index 87% rename from generated/graphics/spirv-builder/shaders/Cargo.toml rename to graphics/mygraphics-shaders/Cargo.toml index c6b52e0..0860c8b 100644 --- a/generated/graphics/spirv-builder/shaders/Cargo.toml +++ b/graphics/mygraphics-shaders/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "graphics-shaders" +name = "mygraphics-shaders" version = "0.1.0" edition = "2024" diff --git a/graphics/shaders/src/lib.rs b/graphics/mygraphics-shaders/src/lib.rs similarity index 100% rename from graphics/shaders/src/lib.rs rename to graphics/mygraphics-shaders/src/lib.rs diff --git a/graphics/ash/Cargo.toml.liquid b/graphics/mygraphics/Cargo.toml.liquid similarity index 91% rename from graphics/ash/Cargo.toml.liquid rename to graphics/mygraphics/Cargo.toml.liquid index 4574e79..4ecf8ff 100644 --- a/graphics/ash/Cargo.toml.liquid +++ b/graphics/mygraphics/Cargo.toml.liquid @@ -1,5 +1,5 @@ [package] -name = "graphics-ash" +name = "mygraphics" publish = false version.workspace = true authors.workspace = true @@ -18,7 +18,7 @@ use-compiled-tools = ["spirv-builder/use-compiled-tools"] {% endif -%} [dependencies] -graphics-shaders = { path = "../shaders" } +mygraphics-shaders = { path = "../mygraphics-shaders" } ash.workspace = true ash-window.workspace = true diff --git a/graphics/ash/build.rs.liquid b/graphics/mygraphics/build.rs.liquid similarity index 94% rename from graphics/ash/build.rs.liquid rename to graphics/mygraphics/build.rs.liquid index 0f69a40..7debc6e 100644 --- a/graphics/ash/build.rs.liquid +++ b/graphics/mygraphics/build.rs.liquid @@ -9,7 +9,7 @@ use std::path::PathBuf; pub fn main() -> anyhow::Result<()> { let manifest_dir = env!("CARGO_MANIFEST_DIR"); - let crate_path = [manifest_dir, "..", "shaders"] + let crate_path = [manifest_dir, "..", "mygraphics-shaders"] .iter() .copied() .collect::(); diff --git a/graphics/ash/src/device.rs b/graphics/mygraphics/src/ash_renderer/device.rs similarity index 100% rename from graphics/ash/src/device.rs rename to graphics/mygraphics/src/ash_renderer/device.rs diff --git a/generated/graphics/cargo-gpu/ash/src/graphics.rs b/graphics/mygraphics/src/ash_renderer/graphics.rs similarity index 98% rename from generated/graphics/cargo-gpu/ash/src/graphics.rs rename to graphics/mygraphics/src/ash_renderer/graphics.rs index 18c6437..b860caf 100644 --- a/generated/graphics/cargo-gpu/ash/src/graphics.rs +++ b/graphics/mygraphics/src/ash_renderer/graphics.rs @@ -1,9 +1,9 @@ -use crate::device::MyDevice; -use crate::single_command_buffer::SingleCommandBuffer; -use crate::swapchain::DrawFrame; +use crate::ash_renderer::device::MyDevice; +use crate::ash_renderer::single_command_buffer::SingleCommandBuffer; +use crate::ash_renderer::swapchain::DrawFrame; use anyhow::Context; use ash::vk; -use graphics_shaders::ShaderConstants; +use mygraphics_shaders::ShaderConstants; use std::sync::Arc; /// Manages the creation and recreation of [`MyRenderPipeline`], whenever new shader code ([`Self::set_shader_code`]) diff --git a/generated/graphics/cargo-gpu/ash/src/main.rs b/graphics/mygraphics/src/ash_renderer/mod.rs similarity index 55% rename from generated/graphics/cargo-gpu/ash/src/main.rs rename to graphics/mygraphics/src/ash_renderer/mod.rs index 45bdd81..d987d4f 100644 --- a/generated/graphics/cargo-gpu/ash/src/main.rs +++ b/graphics/mygraphics/src/ash_renderer/mod.rs @@ -1,80 +1,9 @@ -// FIXME(eddyb) update/review these lints. -// -// BEGIN - Embark standard lints v0.4 -// do not change or add/remove here, but one can add exceptions after this section -// for more info see: -//#![deny(unsafe_code)] // impractical in this crate dealing with unsafe `ash` -#![warn( - clippy::all, - clippy::await_holding_lock, - clippy::char_lit_as_u8, - clippy::checked_conversions, - clippy::dbg_macro, - clippy::debug_assert_with_mut_call, - clippy::doc_markdown, - clippy::empty_enum, - clippy::enum_glob_use, - clippy::exit, - clippy::expl_impl_clone_on_copy, - clippy::explicit_deref_methods, - clippy::explicit_into_iter_loop, - clippy::fallible_impl_from, - clippy::filter_map_next, - clippy::float_cmp_const, - clippy::fn_params_excessive_bools, - clippy::if_let_mutex, - clippy::implicit_clone, - clippy::imprecise_flops, - clippy::inefficient_to_string, - clippy::invalid_upcast_comparisons, - clippy::large_types_passed_by_value, - clippy::let_unit_value, - clippy::linkedlist, - clippy::lossy_float_literal, - clippy::macro_use_imports, - clippy::manual_ok_or, - clippy::map_err_ignore, - clippy::map_flatten, - clippy::map_unwrap_or, - clippy::match_same_arms, - clippy::match_wildcard_for_single_variants, - clippy::mem_forget, - clippy::mut_mut, - clippy::mutex_integer, - clippy::needless_borrow, - clippy::needless_continue, - clippy::option_option, - clippy::path_buf_push_overwrite, - clippy::ptr_as_ptr, - clippy::ref_option_ref, - clippy::rest_pat_in_fully_bound_structs, - clippy::same_functions_in_if_condition, - clippy::semicolon_if_nothing_returned, - clippy::string_add_assign, - clippy::string_add, - clippy::string_lit_as_bytes, - clippy::string_to_string, - clippy::todo, - clippy::trait_duplication_in_bounds, - clippy::unimplemented, - clippy::unnested_or_patterns, - clippy::unused_self, - clippy::useless_transmute, - clippy::verbose_file_reads, - clippy::zero_sized_map_values, - future_incompatible, - nonstandard_style, - rust_2018_idioms -)] -// END - Embark standard lints v0.4 -// crate-specific exceptions: -// #![allow()] - -use crate::device::MyDevice; -use crate::graphics::{MyRenderPipelineManager, MyRenderer}; -use crate::swapchain::MySwapchainManager; +use crate::ash_renderer::device::MyDevice; +use crate::ash_renderer::graphics::{MyRenderPipelineManager, MyRenderer}; +use crate::ash_renderer::swapchain::MySwapchainManager; +use crate::enable_debug_layer; use ash::util::read_spv; -use graphics_shaders::ShaderConstants; +use mygraphics_shaders::ShaderConstants; use raw_window_handle::HasDisplayHandle as _; use winit::event_loop::ActiveEventLoop; use winit::{ @@ -88,10 +17,6 @@ pub mod single_command_buffer; pub mod swapchain; pub fn main() -> anyhow::Result<()> { - let enable_debug_layer = std::env::var("DEBUG_LAYER") - .map(|e| !(e == "0" || e == "false")) - .unwrap_or(false); - // runtime setup let event_loop = EventLoop::new()?; // FIXME(eddyb) incomplete `winit` upgrade, follow the guides in: @@ -107,7 +32,7 @@ pub fn main() -> anyhow::Result<()> { )?; let extensions = ash_window::enumerate_required_extensions(window.display_handle()?.as_raw())?; - let device = MyDevice::new(extensions, enable_debug_layer)?; + let device = MyDevice::new(extensions, enable_debug_layer())?; let mut swapchain = MySwapchainManager::new(device.clone(), window)?; let mut renderer = MyRenderer::new(MyRenderPipelineManager::new( device.clone(), diff --git a/generated/graphics/spirv-builder/ash/src/single_command_buffer.rs b/graphics/mygraphics/src/ash_renderer/single_command_buffer.rs similarity index 96% rename from generated/graphics/spirv-builder/ash/src/single_command_buffer.rs rename to graphics/mygraphics/src/ash_renderer/single_command_buffer.rs index 15137a1..e02a198 100644 --- a/generated/graphics/spirv-builder/ash/src/single_command_buffer.rs +++ b/graphics/mygraphics/src/ash_renderer/single_command_buffer.rs @@ -1,4 +1,4 @@ -use crate::device::MyDevice; +use crate::ash_renderer::device::MyDevice; use ash::vk; use std::sync::Arc; diff --git a/generated/graphics/spirv-builder/ash/src/swapchain.rs b/graphics/mygraphics/src/ash_renderer/swapchain.rs similarity index 99% rename from generated/graphics/spirv-builder/ash/src/swapchain.rs rename to graphics/mygraphics/src/ash_renderer/swapchain.rs index 7142187..5b2ae94 100644 --- a/generated/graphics/spirv-builder/ash/src/swapchain.rs +++ b/graphics/mygraphics/src/ash_renderer/swapchain.rs @@ -1,4 +1,4 @@ -use crate::device::MyDevice; +use crate::ash_renderer::device::MyDevice; use anyhow::Context; use ash::vk; use raw_window_handle::{HasDisplayHandle, HasWindowHandle}; diff --git a/graphics/mygraphics/src/main.rs b/graphics/mygraphics/src/main.rs new file mode 100644 index 0000000..1035edc --- /dev/null +++ b/graphics/mygraphics/src/main.rs @@ -0,0 +1,83 @@ +// FIXME(eddyb) update/review these lints. +// +// BEGIN - Embark standard lints v0.4 +// do not change or add/remove here, but one can add exceptions after this section +// for more info see: +//#![deny(unsafe_code)] // impractical in this crate dealing with unsafe `ash` +#![warn( + clippy::all, + clippy::await_holding_lock, + clippy::char_lit_as_u8, + clippy::checked_conversions, + clippy::dbg_macro, + clippy::debug_assert_with_mut_call, + clippy::doc_markdown, + clippy::empty_enum, + clippy::enum_glob_use, + clippy::exit, + clippy::expl_impl_clone_on_copy, + clippy::explicit_deref_methods, + clippy::explicit_into_iter_loop, + clippy::fallible_impl_from, + clippy::filter_map_next, + clippy::float_cmp_const, + clippy::fn_params_excessive_bools, + clippy::if_let_mutex, + clippy::implicit_clone, + clippy::imprecise_flops, + clippy::inefficient_to_string, + clippy::invalid_upcast_comparisons, + clippy::large_types_passed_by_value, + clippy::let_unit_value, + clippy::linkedlist, + clippy::lossy_float_literal, + clippy::macro_use_imports, + clippy::manual_ok_or, + clippy::map_err_ignore, + clippy::map_flatten, + clippy::map_unwrap_or, + clippy::match_same_arms, + clippy::match_wildcard_for_single_variants, + clippy::mem_forget, + clippy::mut_mut, + clippy::mutex_integer, + clippy::needless_borrow, + clippy::needless_continue, + clippy::option_option, + clippy::path_buf_push_overwrite, + clippy::ptr_as_ptr, + clippy::ref_option_ref, + clippy::rest_pat_in_fully_bound_structs, + clippy::same_functions_in_if_condition, + clippy::semicolon_if_nothing_returned, + clippy::string_add_assign, + clippy::string_add, + clippy::string_lit_as_bytes, + clippy::string_to_string, + clippy::todo, + clippy::trait_duplication_in_bounds, + clippy::unimplemented, + clippy::unnested_or_patterns, + clippy::unused_self, + clippy::useless_transmute, + clippy::verbose_file_reads, + clippy::zero_sized_map_values, + future_incompatible, + nonstandard_style, + rust_2018_idioms +)] +// END - Embark standard lints v0.4 +// crate-specific exceptions: +// #![allow()] + +pub mod ash_renderer; + +pub fn main() -> anyhow::Result<()> { + ash_renderer::main() +} + +pub fn enable_debug_layer() -> bool { + std::env::var("DEBUG_LAYER") + .map(|e| !(e == "0" || e == "false")) + .unwrap_or(false) +}