jay_ash/extensions/nv/
low_latency2.rs1use crate::RawPtr;
4use crate::prelude::*;
5use crate::vk;
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 unsafe {
16 (self.fp.set_latency_sleep_mode_nv)(
17 self.handle,
18 swapchain,
19 sleep_mode_info.as_raw_ptr(),
20 )
21 .result()
22 }
23 }
24
25 #[inline]
27 pub unsafe fn latency_sleep(
28 &self,
29 swapchain: vk::SwapchainKHR,
30 sleep_info: &vk::LatencySleepInfoNV<'_>,
31 ) -> VkResult<()> {
32 unsafe { (self.fp.latency_sleep_nv)(self.handle, swapchain, sleep_info).result() }
33 }
34
35 #[inline]
37 pub unsafe fn set_latency_marker(
38 &self,
39 swapchain: vk::SwapchainKHR,
40 latency_marker_info: &vk::SetLatencyMarkerInfoNV<'_>,
41 ) {
42 unsafe { (self.fp.set_latency_marker_nv)(self.handle, swapchain, latency_marker_info) }
43 }
44
45 #[inline]
47 pub unsafe fn get_latency_timings(
48 &self,
49 swapchain: vk::SwapchainKHR,
50 latency_marker_info: &mut vk::GetLatencyMarkerInfoNV<'_>,
51 ) {
52 unsafe { (self.fp.get_latency_timings_nv)(self.handle, swapchain, latency_marker_info) }
53 }
54
55 #[inline]
57 pub unsafe fn queue_notify_out_of_band(
58 &self,
59 queue: vk::Queue,
60 queue_type_info: &vk::OutOfBandQueueTypeInfoNV<'_>,
61 ) {
62 unsafe { (self.fp.queue_notify_out_of_band_nv)(queue, queue_type_info) }
63 }
64}