debug: timing things

This commit is contained in:
Janis 2025-01-14 23:10:10 +01:00
parent 7640cf053b
commit 9802bec8b0
2 changed files with 73 additions and 61 deletions

View file

@ -1851,6 +1851,8 @@ impl EguiState {
const TEXTURE_BINDING: u32 = 0; const TEXTURE_BINDING: u32 = 0;
const UNIFORM_BINDING: u32 = 1; const UNIFORM_BINDING: u32 = 1;
fn new(device: Device) -> Result<Self> { fn new(device: Device) -> Result<Self> {
let (descriptor_pool, descriptor_layout, sets) =
util::timed("Create Descriptor Set", || {
let descriptor_pool = pipeline::DescriptorPool::new( let descriptor_pool = pipeline::DescriptorPool::new(
device.clone(), device.clone(),
pipeline::DescriptorPoolDesc { pipeline::DescriptorPoolDesc {
@ -1902,6 +1904,9 @@ impl EguiState {
layout: &descriptor_layout, layout: &descriptor_layout,
}])?; }])?;
Result::Ok((descriptor_pool, descriptor_layout, sets))
})?;
let pipeline_layout = pipeline::PipelineLayout::new( let pipeline_layout = pipeline::PipelineLayout::new(
device.clone(), device.clone(),
pipeline::PipelineLayoutDesc { pipeline::PipelineLayoutDesc {

View file

@ -426,6 +426,7 @@ impl RenderGraph {
.iter() .iter()
.map(|(rid, access)| (*rid, *access)) .map(|(rid, access)| (*rid, *access))
.collect::<Vec<_>>(); .collect::<Vec<_>>();
self.add_pass(PassDesc { self.add_pass(PassDesc {
reads: output_reads, reads: output_reads,
writes: vec![], writes: vec![],
@ -444,6 +445,7 @@ impl RenderGraph {
}); });
// create internal resources: // create internal resources:
util::timed("Create internal RenderGraph resources:", || {
for (i, res) in self.resources.iter_mut().enumerate() { for (i, res) in self.resources.iter_mut().enumerate() {
match res { match res {
GraphResource::ImageDesc(image_desc) => { GraphResource::ImageDesc(image_desc) => {
@ -455,11 +457,16 @@ impl RenderGraph {
} }
GraphResource::BufferDesc(buffer_desc) => { GraphResource::BufferDesc(buffer_desc) => {
tracing::trace!("creating resource #{i:?} with {buffer_desc:?}"); tracing::trace!("creating resource #{i:?} with {buffer_desc:?}");
*res = GraphResource::Buffer(Buffer::new(device.clone(), buffer_desc.clone())?); *res = GraphResource::Buffer(Buffer::new(
device.clone(),
buffer_desc.clone(),
)?);
} }
_ => {} _ => {}
} }
} }
ash::prelude::VkResult::Ok(())
})?;
let pool = let pool =
commands::SingleUseCommandPool::new(device.clone(), device.graphics_queue().clone())?; commands::SingleUseCommandPool::new(device.clone(), device.graphics_queue().clone())?;