toggle vulkan log output
This commit is contained in:
@@ -1,5 +1,9 @@
|
|||||||
vulkan_validation_layers = true
|
vulkan_validation_layers = true
|
||||||
mesh_load_info = true
|
mesh_load_info = true
|
||||||
|
debug_errors = true
|
||||||
|
debug_warnings = true
|
||||||
|
debug_info = true
|
||||||
|
debug_verbose = true
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
mouse_motion = false
|
mouse_motion = false
|
||||||
|
|||||||
@@ -15,7 +15,11 @@ pub struct LogConfigInput {
|
|||||||
pub struct LogConfig {
|
pub struct LogConfig {
|
||||||
pub vulkan_validation_layers: bool,
|
pub vulkan_validation_layers: bool,
|
||||||
pub mesh_load_info: bool,
|
pub mesh_load_info: bool,
|
||||||
pub input: LogConfigInput
|
pub input: LogConfigInput,
|
||||||
|
pub debug_errors: bool,
|
||||||
|
pub debug_warnings: bool,
|
||||||
|
pub debug_info: bool,
|
||||||
|
pub debug_verbose: bool
|
||||||
}
|
}
|
||||||
|
|
||||||
impl LogConfig {
|
impl LogConfig {
|
||||||
|
|||||||
@@ -29,7 +29,8 @@ fn main() {
|
|||||||
let (mut renderer, event_loop) = VulkanRenderer::init(
|
let (mut renderer, event_loop) = VulkanRenderer::init(
|
||||||
line_vertices,
|
line_vertices,
|
||||||
log_config.vulkan_validation_layers,
|
log_config.vulkan_validation_layers,
|
||||||
RenderConfig::from_file("config/graphics.toml")
|
RenderConfig::from_file("config/graphics.toml"),
|
||||||
|
log_config.clone()
|
||||||
);
|
);
|
||||||
|
|
||||||
game.game_start(&mut renderer);
|
game.game_start(&mut renderer);
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ use pipelines::line_vs::ty::LinePushConstants;
|
|||||||
use pipelines::DefaultShader;
|
use pipelines::DefaultShader;
|
||||||
use pipelines::vs;
|
use pipelines::vs;
|
||||||
|
|
||||||
|
use crate::config::LogConfig;
|
||||||
use crate::{config::RenderConfig};
|
use crate::{config::RenderConfig};
|
||||||
use crate::vulkan::gameobject::{GameObject, GameObjectHandle};
|
use crate::vulkan::gameobject::{GameObject, GameObjectHandle};
|
||||||
|
|
||||||
@@ -120,7 +121,7 @@ pub struct VulkanRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl VulkanRenderer {
|
impl VulkanRenderer {
|
||||||
pub fn init(line_vertices: Vec<LinePoint>, enable_validation_layers: bool, render_config: RenderConfig) -> (VulkanRenderer, EventLoop<()>) {
|
pub fn init(line_vertices: Vec<LinePoint>, enable_validation_layers: bool, render_config: RenderConfig, log_config: LogConfig) -> (VulkanRenderer, EventLoop<()>) {
|
||||||
// Create empty game data struct to be filled
|
// Create empty game data struct to be filled
|
||||||
let mut data = GameData {
|
let mut data = GameData {
|
||||||
line_push_constants: LinePushConstants {
|
line_push_constants: LinePushConstants {
|
||||||
@@ -188,17 +189,17 @@ impl VulkanRenderer {
|
|||||||
validation: true
|
validation: true
|
||||||
};
|
};
|
||||||
|
|
||||||
debug_callback = DebugCallback::new(&instance, msg_severity, msg_types, |msg| {
|
debug_callback = DebugCallback::new(&instance, msg_severity, msg_types, move |msg| {
|
||||||
let type_str = match (msg.severity.error, msg.severity.warning, msg.severity.information, msg.severity.verbose) {
|
let (type_str, will_log) = match (msg.severity.error, msg.severity.warning, msg.severity.information, msg.severity.verbose) {
|
||||||
(true, _, _, _) => "!!",
|
(true, _, _, _) => ("!!", log_config.debug_errors),
|
||||||
(_, true, _, _) => "!",
|
(_, true, _, _) => ("!", log_config.debug_warnings),
|
||||||
(_, _, _, true) => "i",
|
(_, _, _, true) => ("i", log_config.debug_info),
|
||||||
_ => " "
|
_ => (" ", log_config.debug_verbose)
|
||||||
};
|
};
|
||||||
|
|
||||||
let layer_str = msg.layer_prefix;
|
let layer_str = msg.layer_prefix;
|
||||||
|
|
||||||
println!("[{}][{:?}]: {}", type_str, layer_str, msg.description);
|
if will_log { println!("[{}][{:?}]: {}", type_str, layer_str, msg.description); }
|
||||||
}).ok();
|
}).ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user