Skip to content

Commit

Permalink
Fix release run
Browse files Browse the repository at this point in the history
  • Loading branch information
Snowiiii committed Jan 9, 2024
1 parent 42c8591 commit f796adb
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 131 deletions.
3 changes: 1 addition & 2 deletions crates/vent-rendering/src/allocator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ impl MemoryAllocator {
.memory_type_index(
self.find_memorytype_index(memory_req, flags)
.expect("Failed to find Memory Index"),
)
.build();
);

unsafe { device.allocate_memory(&memory_info, None) }.unwrap()
}
Expand Down
3 changes: 1 addition & 2 deletions crates/vent-rendering/src/buffer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ impl VulkanBuffer {
let buffer_info = vk::BufferCreateInfo::builder()
.size(size)
.usage(usage)
.sharing_mode(vk::SharingMode::EXCLUSIVE)
.build();
.sharing_mode(vk::SharingMode::EXCLUSIVE);

let buffer = unsafe { instance.device.create_buffer(&buffer_info, None) }.unwrap();

Expand Down
3 changes: 1 addition & 2 deletions crates/vent-rendering/src/debug.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,7 @@ pub fn set_object_name<H: Handle>(instance: &VulkanInstance, handle: H, name: &s
let debug_utils_object_name_info = vk::DebugUtilsObjectNameInfoEXT::builder()
.object_type(H::TYPE)
.object_handle(handle.as_raw())
.object_name(&object_name)
.build();
.object_name(&object_name);

unsafe {
instance
Expand Down
55 changes: 13 additions & 42 deletions crates/vent-rendering/src/image.rs
Original file line number Diff line number Diff line change
Expand Up @@ -192,68 +192,42 @@ impl VulkanImage {
level_count: mip_level,
layer_count: 1,
..Default::default()
})
.build();
});

let binding = [*image_barrier];
let dep_info = vk::DependencyInfo::builder()
.image_memory_barriers(&[image_barrier])
.dependency_flags(vk::DependencyFlags::BY_REGION)
.build();
.image_memory_barriers(&binding)
.dependency_flags(vk::DependencyFlags::BY_REGION);

unsafe { device.cmd_pipeline_barrier2(command_buffer, &dep_info) };

let subresource = vk::ImageSubresourceLayers::builder()
.aspect_mask(vk::ImageAspectFlags::COLOR)
.mip_level(0)
.base_array_layer(0)
.layer_count(1)
.build();
.layer_count(1);

let region = vk::BufferImageCopy2::builder()
.buffer_offset(0)
.buffer_row_length(0)
.buffer_image_height(0)
.image_subresource(subresource)
.image_subresource(*subresource)
.image_offset(vk::Offset3D { x: 0, y: 0, z: 0 })
.image_extent(vk::Extent3D {
width,
height,
depth: 1,
})
.build();
});

let binding = [*region];
let copy_image_info = vk::CopyBufferToImageInfo2::builder()
.src_buffer(staging_buffer.buffer)
.dst_image(image)
.dst_image_layout(vk::ImageLayout::TRANSFER_DST_OPTIMAL)
.regions(&[region])
.build();
.regions(&binding);

unsafe { device.cmd_copy_buffer_to_image2(command_buffer, &copy_image_info) };

// let image_barrier = vk::ImageMemoryBarrier2::builder()
// .src_access_mask(vk::AccessFlags2::TRANSFER_WRITE)
// .dst_access_mask(vk::AccessFlags2::SHADER_READ)
// .old_layout(vk::ImageLayout::TRANSFER_DST_OPTIMAL)
// .new_layout(vk::ImageLayout::SHADER_READ_ONLY_OPTIMAL)
// .src_stage_mask(vk::PipelineStageFlags2::TRANSFER)
// .dst_stage_mask(vk::PipelineStageFlags2::FRAGMENT_SHADER)
// .image(image)
// .subresource_range(vk::ImageSubresourceRange {
// aspect_mask: vk::ImageAspectFlags::COLOR,
// level_count: 1,
// layer_count: 1,
// ..Default::default()
// })
// .build();

// let dep_info = vk::DependencyInfo::builder()
// .image_memory_barriers(&[image_barrier])
// .dependency_flags(vk::DependencyFlags::BY_REGION)
// .build();

// unsafe { device.cmd_pipeline_barrier2(command_buffer, &dep_info) };

end_single_time_command(device, command_pool, submit_queue, command_buffer);
}

Expand Down Expand Up @@ -416,17 +390,15 @@ impl VulkanImage {
mask: vk::ImageAspectFlags,
) -> vk::ImageView {
let image_view_info = vk::ImageViewCreateInfo::builder()
.subresource_range(
vk::ImageSubresourceRange::builder()
.subresource_range(vk::ImageSubresourceRange::builder()
.aspect_mask(mask)
.level_count(mip_level)
.layer_count(1)
.build(),
.build()
)
.image(image)
.format(format)
.view_type(vk::ImageViewType::TYPE_2D)
.build();
.view_type(vk::ImageViewType::TYPE_2D);

unsafe { device.create_image_view(&image_view_info, None) }.unwrap()
}
Expand All @@ -447,8 +419,7 @@ impl VulkanImage {
.samples(vk::SampleCountFlags::TYPE_1)
.tiling(vk::ImageTiling::OPTIMAL)
.usage(usage)
.sharing_mode(vk::SharingMode::EXCLUSIVE)
.build();
.sharing_mode(vk::SharingMode::EXCLUSIVE);

unsafe { device.create_image(&create_info, None) }.unwrap()
}
Expand Down
71 changes: 27 additions & 44 deletions crates/vent-rendering/src/instance.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ impl VulkanInstance {
.engine_name(CStr::from_bytes_with_nul_unchecked(b"Vent-Engine\0"))
.engine_version(engine_version)
.api_version(vk::API_VERSION_1_3)
.build()
};

let display_handle = window.display_handle().expect("No Display Handle");
Expand Down Expand Up @@ -118,8 +117,7 @@ impl VulkanInstance {
.enabled_extension_names(&extension_names)
.enabled_layer_names(&layer_names_ptrs)
.flags(create_flags)
.push_next(&mut validation_features)
.build();
.push_next(&mut validation_features);

let instance = unsafe {
entry
Expand Down Expand Up @@ -305,37 +303,35 @@ impl VulkanInstance {

let wait_semaphores = vk::SemaphoreSubmitInfo::builder()
.semaphore(self.image_available_semaphores[self.frame])
.stage_mask(vk::PipelineStageFlags2::COLOR_ATTACHMENT_OUTPUT)
.build();
.stage_mask(vk::PipelineStageFlags2::COLOR_ATTACHMENT_OUTPUT);

let command_buffers = vk::CommandBufferSubmitInfo::builder()
.command_buffer(self.command_buffers[image_index as usize])
.build();

.command_buffer(self.command_buffers[image_index as usize]);
let signal_semaphores = vk::SemaphoreSubmitInfo::builder()
.semaphore(self.render_finished_semaphores[self.frame])
.stage_mask(vk::PipelineStageFlags2::ALL_GRAPHICS)
.build();
.stage_mask(vk::PipelineStageFlags2::ALL_GRAPHICS);

let signal_infos = [*signal_semaphores];
let command_infos = [*command_buffers];
let wait_infos = [*wait_semaphores];
let submit_info = vk::SubmitInfo2::builder()
.wait_semaphore_infos(&[wait_semaphores])
.command_buffer_infos(&[command_buffers])
.signal_semaphore_infos(&[signal_semaphores])
.build();
.wait_semaphore_infos(&wait_infos)
.command_buffer_infos(&command_infos)
.signal_semaphore_infos(&signal_infos);

unsafe {
self.device
.queue_submit2(self.graphics_queue, &[submit_info], in_flight_fence)
.queue_submit2(self.graphics_queue, &[*submit_info], in_flight_fence)
.unwrap();
}

let swapchains = &[self.swapchain];
let image_indices = &[image_index];
let binding = [self.render_finished_semaphores[self.frame]];
let present_info = vk::PresentInfoKHR::builder()
.wait_semaphores(&[self.render_finished_semaphores[self.frame]])
.wait_semaphores(&binding)
.swapchains(swapchains)
.image_indices(image_indices)
.build();
.image_indices(image_indices);

self.frame = (self.frame + 1) % MAX_FRAMES_IN_FLIGHT as usize;

Expand Down Expand Up @@ -409,8 +405,7 @@ impl VulkanInstance {
.attachments(&framebuffer_attachments)
.width(surface_resolution.width)
.height(surface_resolution.height)
.layers(1)
.build();
.layers(1);

unsafe {
device
Expand Down Expand Up @@ -490,15 +485,13 @@ impl VulkanInstance {

let queue_info = vk::DeviceQueueCreateInfo::builder()
.queue_family_index(queue_family_index)
.queue_priorities(&priorities)
.build();
.queue_priorities(&priorities);

let device_create_info = vk::DeviceCreateInfo::builder()
.queue_create_infos(std::slice::from_ref(&queue_info))
.enabled_extension_names(&device_extension_names_raw)
.enabled_features(&features)
.push_next(&mut features_1_3)
.build();
.push_next(&mut features_1_3);

unsafe { instance.create_device(pdevice, &device_create_info, None) }.unwrap()
}
Expand Down Expand Up @@ -566,8 +559,7 @@ impl VulkanInstance {
.present_mode(present_mode)
.clipped(true)
.image_array_layers(1)
.old_swapchain(old_swapchain.unwrap_or_default())
.build();
.old_swapchain(old_swapchain.unwrap_or_default());

(
unsafe { swapchain_loader.create_swapchain(&swapchain_create_info, None) }.unwrap(),
Expand All @@ -578,8 +570,7 @@ impl VulkanInstance {
fn create_command_pool(device: &ash::Device, queue_family_index: u32) -> vk::CommandPool {
let create_info = vk::CommandPoolCreateInfo::builder()
.queue_family_index(queue_family_index)
.flags(vk::CommandPoolCreateFlags::RESET_COMMAND_BUFFER)
.build();
.flags(vk::CommandPoolCreateFlags::RESET_COMMAND_BUFFER);
unsafe { device.create_command_pool(&create_info, None) }.unwrap()
}

Expand All @@ -591,8 +582,7 @@ impl VulkanInstance {
let allocate_info = vk::CommandBufferAllocateInfo::builder()
.command_pool(command_pool)
.level(vk::CommandBufferLevel::PRIMARY)
.command_buffer_count(count)
.build();
.command_buffer_count(count);

unsafe { device.allocate_command_buffers(&allocate_info) }.unwrap()
}
Expand All @@ -612,8 +602,7 @@ impl VulkanInstance {
let create_info = vk::SemaphoreCreateInfo::default();

let fence_info = vk::FenceCreateInfo::builder()
.flags(vk::FenceCreateFlags::SIGNALED)
.build();
.flags(vk::FenceCreateFlags::SIGNALED);

for _ in 0..MAX_FRAMES_IN_FLIGHT {
image_available_semaphores
Expand Down Expand Up @@ -661,8 +650,7 @@ impl VulkanInstance {
base_array_layer: 0,
layer_count: 1,
})
.image(image)
.build();
.image(image);
unsafe { device.create_image_view(&create_view_info, None) }.unwrap()
})
.collect::<Vec<vk::ImageView>>(),
Expand All @@ -684,8 +672,7 @@ impl VulkanInstance {

let create_info = vk::DescriptorPoolCreateInfo::builder()
.pool_sizes(&pool_sizes)
.max_sets(10000)
.build();
.max_sets(10000);

unsafe { device.create_descriptor_pool(&create_info, None) }.unwrap()
}
Expand All @@ -699,8 +686,7 @@ impl VulkanInstance {
let layouts = (0..size).map(|_| descriptor_set_layout).collect::<Vec<_>>();
let info = vk::DescriptorSetAllocateInfo::builder()
.descriptor_pool(descriptor_pool)
.set_layouts(&layouts)
.build();
.set_layouts(&layouts);

unsafe { device.allocate_descriptor_sets(&info) }.unwrap()
}
Expand Down Expand Up @@ -732,8 +718,7 @@ impl VulkanInstance {
];

let info = vk::DescriptorSetLayoutCreateInfo::builder()
.bindings(&desc_layout_bindings)
.build();
.bindings(&desc_layout_bindings);

unsafe { device.create_descriptor_set_layout(&info, None) }.unwrap()
}
Expand All @@ -742,8 +727,7 @@ impl VulkanInstance {
let binding = [self.descriptor_set_layout];
let push_constant_ranges = [PushConstantRange::builder()
.size(push_contant_size)
.stage_flags(vk::ShaderStageFlags::VERTEX)
.build()];
.stage_flags(vk::ShaderStageFlags::VERTEX).build()];

let create_info = vk::PipelineLayoutCreateInfo::builder()
.push_constant_ranges(&push_constant_ranges)
Expand Down Expand Up @@ -822,8 +806,7 @@ impl VulkanInstance {
let create_info = vk::RenderPassCreateInfo2::builder()
.attachments(&renderpass_attachments)
.subpasses(std::slice::from_ref(&subpass))
.dependencies(&dependencies)
.build();
.dependencies(&dependencies);

unsafe { device.create_render_pass2(&create_info, None) }.unwrap()
}
Expand Down
15 changes: 6 additions & 9 deletions crates/vent-rendering/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,7 @@ pub fn begin_single_time_command(
let command_buffer_allocate_info = vk::CommandBufferAllocateInfo::builder()
.command_buffer_count(1)
.command_pool(command_pool)
.level(vk::CommandBufferLevel::PRIMARY)
.build();
.level(vk::CommandBufferLevel::PRIMARY);

let command_buffer = unsafe {
device
Expand All @@ -88,8 +87,7 @@ pub fn begin_single_time_command(
}[0];

let command_buffer_begin_info = vk::CommandBufferBeginInfo::builder()
.flags(vk::CommandBufferUsageFlags::ONE_TIME_SUBMIT)
.build();
.flags(vk::CommandBufferUsageFlags::ONE_TIME_SUBMIT);

unsafe {
device
Expand All @@ -113,20 +111,19 @@ pub fn end_single_time_command(
}

let buffers_to_submit = vk::CommandBufferSubmitInfo::builder()
.command_buffer(command_buffer)
.build();
.command_buffer(command_buffer);

let binding = [*buffers_to_submit];
let submit_info = vk::SubmitInfo2::builder()
.command_buffer_infos(&[buffers_to_submit])
.build();
.command_buffer_infos(&binding);

unsafe {
let fence = device
.create_fence(&vk::FenceCreateInfo::default(), None)
.unwrap();

device
.queue_submit2(submit_queue, &[submit_info], fence)
.queue_submit2(submit_queue, &[*submit_info], fence)
.expect("Failed to Queue Submit!");
device
.wait_for_fences(&[fence], true, 100000000000)
Expand Down
Loading

0 comments on commit f796adb

Please sign in to comment.