Add merge_pipeline_caches, queue_bind_sparse, get_render_area_granularity to DeviceV1_0 (#397)

This commit is contained in:
Rua 2021-03-20 13:56:41 +01:00 committed by GitHub
parent 98d66c6b7d
commit 81b8e3a24a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1593,6 +1593,22 @@ pub trait DeviceV1_0 {
err_code.result_with_success(data) err_code.result_with_success(data)
} }
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkMergePipelineCaches.html>"]
unsafe fn merge_pipeline_caches(
&self,
dst_cache: vk::PipelineCache,
src_caches: &[vk::PipelineCache],
) -> VkResult<()> {
self.fp_v1_0()
.merge_pipeline_caches(
self.handle(),
dst_cache,
src_caches.len() as u32,
src_caches.as_ptr(),
)
.into()
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkMapMemory.html>"] #[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkMapMemory.html>"]
unsafe fn map_memory( unsafe fn map_memory(
&self, &self,
@ -1757,6 +1773,18 @@ pub trait DeviceV1_0 {
.into() .into()
} }
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkQueueBindSparse.html>"]
unsafe fn queue_bind_sparse(
&self,
queue: vk::Queue,
bind_info: &[vk::BindSparseInfo],
fence: vk::Fence,
) -> VkResult<()> {
self.fp_v1_0()
.queue_bind_sparse(queue, bind_info.len() as u32, bind_info.as_ptr(), fence)
.into()
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateBufferView.html>"] #[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateBufferView.html>"]
unsafe fn create_buffer_view( unsafe fn create_buffer_view(
&self, &self,
@ -1976,6 +2004,14 @@ pub trait DeviceV1_0 {
.bind_image_memory(self.handle(), image, device_memory, offset) .bind_image_memory(self.handle(), image, device_memory, offset)
.into() .into()
} }
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetRenderAreaGranularity.html>"]
unsafe fn get_render_area_granularity(&self, render_pass: vk::RenderPass) -> vk::Extent2D {
let mut granularity = mem::zeroed();
self.fp_v1_0()
.get_render_area_granularity(self.handle(), render_pass, &mut granularity);
granularity
}
} }
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDevice.html>"] #[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDevice.html>"]