21 lines
575 B
Zig
21 lines
575 B
Zig
const QueueSharingMode = @This();
|
|
|
|
const vk = @import("vulkan");
|
|
|
|
threadlocal var qsm: QueueSharingMode = undefined;
|
|
|
|
buffer: [2]u32,
|
|
sharing_mode: vk.SharingMode,
|
|
queue_family_index_count: u32,
|
|
p_queue_family_indices: ?[*]const u32,
|
|
|
|
pub fn resolve(a: u32, b: u32) *const QueueSharingMode {
|
|
const self = &qsm;
|
|
const same = a == b;
|
|
self.buffer = .{ a, b };
|
|
self.sharing_mode = if (same) .exclusive else .concurrent;
|
|
self.queue_family_index_count = if (same) 0 else 2;
|
|
self.p_queue_family_indices = if (same) null else &self.buffer;
|
|
return self;
|
|
}
|