ash/extensions/nv/
low_latency2.rs1use crate::prelude::*;
4use crate::vk;
5use crate::RawPtr;
6
7impl crate::nv::low_latency2::Device {
8 #[inline]
10 pub unsafe fn set_latency_sleep_mode(
11 &self,
12 swapchain: vk::SwapchainKHR,
13 sleep_mode_info: Option<&vk::LatencySleepModeInfoNV<'_>>,
14 ) -> VkResult<()> {
15 (self.fp.set_latency_sleep_mode_nv)(self.handle, swapchain, sleep_mode_info.as_raw_ptr())
16 .result()
17 }
18
19 #[inline]
21 pub unsafe fn latency_sleep(
22 &self,
23 swapchain: vk::SwapchainKHR,
24 sleep_info: &vk::LatencySleepInfoNV<'_>,
25 ) -> VkResult<()> {
26 (self.fp.latency_sleep_nv)(self.handle, swapchain, sleep_info).result()
27 }
28
29 #[inline]
31 pub unsafe fn set_latency_marker(
32 &self,
33 swapchain: vk::SwapchainKHR,
34 latency_marker_info: &vk::SetLatencyMarkerInfoNV<'_>,
35 ) {
36 (self.fp.set_latency_marker_nv)(self.handle, swapchain, latency_marker_info)
37 }
38
39 #[inline]
41 pub unsafe fn get_latency_timings(
42 &self,
43 swapchain: vk::SwapchainKHR,
44 latency_marker_info: &mut vk::GetLatencyMarkerInfoNV<'_>,
45 ) {
46 (self.fp.get_latency_timings_nv)(self.handle, swapchain, latency_marker_info)
47 }
48
49 #[inline]
51 pub unsafe fn queue_notify_out_of_band(
52 &self,
53 queue: vk::Queue,
54 queue_type_info: &vk::OutOfBandQueueTypeInfoNV<'_>,
55 ) {
56 (self.fp.queue_notify_out_of_band_nv)(queue, queue_type_info)
57 }
58}