fixed validation errors

This commit is contained in:
Janis 2024-12-15 02:19:56 +01:00
parent d9f302cb5a
commit ee995bbd01

View file

@ -655,6 +655,7 @@ impl Swapchain {
.map(|&image| { .map(|&image| {
let info = vk::ImageViewCreateInfo::default() let info = vk::ImageViewCreateInfo::default()
.image(image) .image(image)
.view_type(vk::ImageViewType::TYPE_2D)
.format(format) .format(format)
.components(vk::ComponentMapping::default()) .components(vk::ComponentMapping::default())
.subresource_range( .subresource_range(
@ -710,6 +711,7 @@ impl Swapchain {
.map(|&image| { .map(|&image| {
let info = vk::ImageViewCreateInfo::default() let info = vk::ImageViewCreateInfo::default()
.image(image) .image(image)
.view_type(vk::ImageViewType::TYPE_2D)
.format(format) .format(format)
.components(vk::ComponentMapping::default()) .components(vk::ComponentMapping::default())
.subresource_range( .subresource_range(
@ -756,7 +758,10 @@ impl Swapchain {
.image_color_space(image_color_space) .image_color_space(image_color_space)
.image_format(image_format) .image_format(image_format)
.min_image_count(image_count) .min_image_count(image_count)
.image_usage(vk::ImageUsageFlags::TRANSFER_DST) .image_usage(
vk::ImageUsageFlags::TRANSFER_DST
| vk::ImageUsageFlags::COLOR_ATTACHMENT,
)
.image_array_layers(1) .image_array_layers(1)
.image_extent(image_extent) .image_extent(image_extent)
.image_sharing_mode(if queue_families.len() <= 1 { .image_sharing_mode(if queue_families.len() <= 1 {
@ -1216,8 +1221,6 @@ impl Vulkan {
(family, index) (family, index)
}; };
eprintln!("queue families: {:?}", pdev.queue_families);
let graphics_family_and_index = helper(pdev.queue_families.graphics); let graphics_family_and_index = helper(pdev.queue_families.graphics);
let compute_family_and_index = let compute_family_and_index =
pdev.queue_families.async_compute.map(|f| helper(f)); pdev.queue_families.async_compute.map(|f| helper(f));
@ -1232,8 +1235,6 @@ impl Vulkan {
as usize as usize
]; ];
eprintln!("unique_families: {unique_families:?}");
let queue_infos = unique_families let queue_infos = unique_families
.into_iter() .into_iter()
.filter(|&(_, count)| count > 0) .filter(|&(_, count)| count > 0)
@ -1244,8 +1245,6 @@ impl Vulkan {
}) })
.collect::<Vec<_>>(); .collect::<Vec<_>>();
eprintln!("infos: {queue_infos:#?}");
let extensions = features let extensions = features
.device_extensions .device_extensions
.iter() .iter()
@ -1556,7 +1555,7 @@ impl Renderer {
continue; continue;
} }
let image = ctx.current_swapchain.images.first().cloned().unwrap(); let image = ctx.current_swapchain.images[swapchain_index as usize];
// let image = images::Image2D::new_exclusive( // let image = images::Image2D::new_exclusive(
// self.vulkan.alloc.clone(), // self.vulkan.alloc.clone(),
@ -1612,7 +1611,7 @@ impl Renderer {
vk::ImageAspectFlags::COLOR, vk::ImageAspectFlags::COLOR,
vk::PipelineStageFlags2::TRANSFER, vk::PipelineStageFlags2::TRANSFER,
vk::AccessFlags2::TRANSFER_WRITE, vk::AccessFlags2::TRANSFER_WRITE,
vk::PipelineStageFlags2::BOTTOM_OF_PIPE, vk::PipelineStageFlags2::TRANSFER,
vk::AccessFlags2::empty(), vk::AccessFlags2::empty(),
vk::ImageLayout::TRANSFER_DST_OPTIMAL, vk::ImageLayout::TRANSFER_DST_OPTIMAL,
vk::ImageLayout::PRESENT_SRC_KHR, vk::ImageLayout::PRESENT_SRC_KHR,
@ -1631,7 +1630,7 @@ impl Renderer {
dev.graphics_queue().clone(), dev.graphics_queue().clone(),
Some(( Some((
ready_semaphore.semaphore(), ready_semaphore.semaphore(),
vk::PipelineStageFlags::TOP_OF_PIPE, vk::PipelineStageFlags::ALL_COMMANDS,
)), )),
Some(signal_semaphore.semaphore()), Some(signal_semaphore.semaphore()),
)?; )?;
@ -1648,6 +1647,9 @@ impl Renderer {
})?; })?;
future.block_until()?; future.block_until()?;
dev.dev().device_wait_idle();
drop(ready_semaphore);
drop(signal_semaphore);
} }
} }