kronos_compute/core/
timeline.rs1use std::ffi::c_void;
4use std::ptr;
5use crate::sys::*;
6use crate::core::enums::*;
7use crate::core::flags::*;
8
9#[repr(C)]
11#[derive(Debug, Clone, Copy)]
12pub struct VkSemaphoreTypeCreateInfo {
13 pub sType: VkStructureType,
14 pub pNext: *const c_void,
15 pub semaphoreType: VkSemaphoreType,
16 pub initialValue: u64,
17}
18
19impl Default for VkSemaphoreTypeCreateInfo {
20 fn default() -> Self {
21 Self {
22 sType: VkStructureType::SemaphoreTypeCreateInfo,
23 pNext: ptr::null(),
24 semaphoreType: VkSemaphoreType::Binary,
25 initialValue: 0,
26 }
27 }
28}
29
30#[repr(C)]
32#[derive(Debug, Clone, Copy)]
33pub struct VkTimelineSemaphoreSubmitInfo {
34 pub sType: VkStructureType,
35 pub pNext: *const c_void,
36 pub waitSemaphoreValueCount: u32,
37 pub pWaitSemaphoreValues: *const u64,
38 pub signalSemaphoreValueCount: u32,
39 pub pSignalSemaphoreValues: *const u64,
40}
41
42impl Default for VkTimelineSemaphoreSubmitInfo {
43 fn default() -> Self {
44 Self {
45 sType: VkStructureType::TimelineSemaphoreSubmitInfo,
46 pNext: ptr::null(),
47 waitSemaphoreValueCount: 0,
48 pWaitSemaphoreValues: ptr::null(),
49 signalSemaphoreValueCount: 0,
50 pSignalSemaphoreValues: ptr::null(),
51 }
52 }
53}
54
55#[repr(C)]
57#[derive(Debug, Clone, Copy)]
58pub struct VkSemaphoreWaitInfo {
59 pub sType: VkStructureType,
60 pub pNext: *const c_void,
61 pub flags: VkSemaphoreWaitFlags,
62 pub semaphoreCount: u32,
63 pub pSemaphores: *const VkSemaphore,
64 pub pValues: *const u64,
65}
66
67impl Default for VkSemaphoreWaitInfo {
68 fn default() -> Self {
69 Self {
70 sType: VkStructureType::SemaphoreWaitInfo,
71 pNext: ptr::null(),
72 flags: VkSemaphoreWaitFlags::empty(),
73 semaphoreCount: 0,
74 pSemaphores: ptr::null(),
75 pValues: ptr::null(),
76 }
77 }
78}