Skip to content

Commit 96fda63

Browse files
author
Stephen Gutekanst
committed
./update.sh
Signed-off-by: Stephen Gutekanst <[email protected]>
1 parent bfbfa2f commit 96fda63

File tree

1 file changed

+80
-52
lines changed

1 file changed

+80
-52
lines changed

vk.zig

Lines changed: 80 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ pub fn FlagsMixin(comptime FlagsType: type) type {
1919
return struct {
2020
pub const IntType = @typeInfo(FlagsType).Struct.backing_integer.?;
2121
pub fn toInt(self: FlagsType) IntType {
22-
return @as(IntType, @bitCast(self));
22+
return @bitCast(self);
2323
}
2424
pub fn fromInt(flags: IntType) FlagsType {
25-
return @as(FlagsType, @bitCast(flags));
25+
return @bitCast(flags);
2626
}
2727
pub fn merge(lhs: FlagsType, rhs: FlagsType) FlagsType {
2828
return fromInt(toInt(lhs) | toInt(rhs));
@@ -39,22 +39,49 @@ pub fn FlagsMixin(comptime FlagsType: type) type {
3939
pub fn contains(lhs: FlagsType, rhs: FlagsType) bool {
4040
return toInt(intersect(lhs, rhs)) == toInt(rhs);
4141
}
42+
pub usingnamespace FlagFormatMixin(FlagsType);
43+
};
44+
}
45+
fn FlagFormatMixin(comptime FlagsType: type) type {
46+
return struct {
47+
pub fn format(
48+
self: FlagsType,
49+
comptime _: []const u8,
50+
_: std.fmt.FormatOptions,
51+
writer: anytype,
52+
) !void {
53+
try writer.writeAll(@typeName(FlagsType) ++ "{");
54+
var first = true;
55+
inline for (comptime std.meta.fieldNames(FlagsType)) |name| {
56+
if (name[0] == '_') continue;
57+
if (@field(self, name)) {
58+
if (first) {
59+
try writer.writeAll(" ." ++ name);
60+
first = false;
61+
} else {
62+
try writer.writeAll(", ." ++ name);
63+
}
64+
}
65+
}
66+
if (!first) try writer.writeAll(" ");
67+
try writer.writeAll("}");
68+
}
4269
};
4370
}
4471
pub fn makeApiVersion(variant: u3, major: u7, minor: u10, patch: u12) u32 {
4572
return (@as(u32, variant) << 29) | (@as(u32, major) << 22) | (@as(u32, minor) << 12) | patch;
4673
}
4774
pub fn apiVersionVariant(version: u32) u3 {
48-
return @as(u3, @truncate(version >> 29));
75+
return @truncate(version >> 29);
4976
}
5077
pub fn apiVersionMajor(version: u32) u7 {
51-
return @as(u7, @truncate(version >> 22));
78+
return @truncate(version >> 22);
5279
}
5380
pub fn apiVersionMinor(version: u32) u10 {
54-
return @as(u10, @truncate(version >> 12));
81+
return @truncate(version >> 12);
5582
}
5683
pub fn apiVersionPatch(version: u32) u12 {
57-
return @as(u12, @truncate(version));
84+
return @truncate(version);
5885
}
5986
pub const MAX_PHYSICAL_DEVICE_NAME_SIZE = 256;
6087
pub const UUID_SIZE = 16;
@@ -8286,7 +8313,7 @@ pub const PfnGetDeviceQueue = *const fn (
82868313
pub const PfnQueueSubmit = *const fn (
82878314
queue: Queue,
82888315
submit_count: u32,
8289-
p_submits: [*]const SubmitInfo,
8316+
p_submits: ?[*]const SubmitInfo,
82908317
fence: Fence,
82918318
) callconv(vulkan_call_conv) Result;
82928319
pub const PfnQueueWaitIdle = *const fn (
@@ -8374,7 +8401,7 @@ pub const PfnGetPhysicalDeviceSparseImageFormatProperties = *const fn (
83748401
pub const PfnQueueBindSparse = *const fn (
83758402
queue: Queue,
83768403
bind_info_count: u32,
8377-
p_bind_info: [*]const BindSparseInfo,
8404+
p_bind_info: ?[*]const BindSparseInfo,
83788405
fence: Fence,
83798406
) callconv(vulkan_call_conv) Result;
83808407
pub const PfnCreateFence = *const fn (
@@ -8633,9 +8660,9 @@ pub const PfnFreeDescriptorSets = *const fn (
86338660
pub const PfnUpdateDescriptorSets = *const fn (
86348661
device: Device,
86358662
descriptor_write_count: u32,
8636-
p_descriptor_writes: [*]const WriteDescriptorSet,
8663+
p_descriptor_writes: ?[*]const WriteDescriptorSet,
86378664
descriptor_copy_count: u32,
8638-
p_descriptor_copies: [*]const CopyDescriptorSet,
8665+
p_descriptor_copies: ?[*]const CopyDescriptorSet,
86398666
) callconv(vulkan_call_conv) void;
86408667
pub const PfnCreateFramebuffer = *const fn (
86418668
device: Device,
@@ -8761,7 +8788,7 @@ pub const PfnCmdBindDescriptorSets = *const fn (
87618788
descriptor_set_count: u32,
87628789
p_descriptor_sets: [*]const DescriptorSet,
87638790
dynamic_offset_count: u32,
8764-
p_dynamic_offsets: [*]const u32,
8791+
p_dynamic_offsets: ?[*]const u32,
87658792
) callconv(vulkan_call_conv) void;
87668793
pub const PfnCmdBindIndexBuffer = *const fn (
87678794
command_buffer: CommandBuffer,
@@ -8921,23 +8948,23 @@ pub const PfnCmdWaitEvents = *const fn (
89218948
src_stage_mask: PipelineStageFlags,
89228949
dst_stage_mask: PipelineStageFlags,
89238950
memory_barrier_count: u32,
8924-
p_memory_barriers: [*]const MemoryBarrier,
8951+
p_memory_barriers: ?[*]const MemoryBarrier,
89258952
buffer_memory_barrier_count: u32,
8926-
p_buffer_memory_barriers: [*]const BufferMemoryBarrier,
8953+
p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier,
89278954
image_memory_barrier_count: u32,
8928-
p_image_memory_barriers: [*]const ImageMemoryBarrier,
8955+
p_image_memory_barriers: ?[*]const ImageMemoryBarrier,
89298956
) callconv(vulkan_call_conv) void;
89308957
pub const PfnCmdPipelineBarrier = *const fn (
89318958
command_buffer: CommandBuffer,
89328959
src_stage_mask: PipelineStageFlags,
89338960
dst_stage_mask: PipelineStageFlags,
89348961
dependency_flags: DependencyFlags,
89358962
memory_barrier_count: u32,
8936-
p_memory_barriers: [*]const MemoryBarrier,
8963+
p_memory_barriers: ?[*]const MemoryBarrier,
89378964
buffer_memory_barrier_count: u32,
8938-
p_buffer_memory_barriers: [*]const BufferMemoryBarrier,
8965+
p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier,
89398966
image_memory_barrier_count: u32,
8940-
p_image_memory_barriers: [*]const ImageMemoryBarrier,
8967+
p_image_memory_barriers: ?[*]const ImageMemoryBarrier,
89418968
) callconv(vulkan_call_conv) void;
89428969
pub const PfnCmdBeginQuery = *const fn (
89438970
command_buffer: CommandBuffer,
@@ -9901,14 +9928,14 @@ pub const PfnCmdBeginTransformFeedbackEXT = *const fn (
99019928
command_buffer: CommandBuffer,
99029929
first_counter_buffer: u32,
99039930
counter_buffer_count: u32,
9904-
p_counter_buffers: [*]const Buffer,
9931+
p_counter_buffers: ?[*]const Buffer,
99059932
p_counter_buffer_offsets: ?[*]const DeviceSize,
99069933
) callconv(vulkan_call_conv) void;
99079934
pub const PfnCmdEndTransformFeedbackEXT = *const fn (
99089935
command_buffer: CommandBuffer,
99099936
first_counter_buffer: u32,
99109937
counter_buffer_count: u32,
9911-
p_counter_buffers: [*]const Buffer,
9938+
p_counter_buffers: ?[*]const Buffer,
99129939
p_counter_buffer_offsets: ?[*]const DeviceSize,
99139940
) callconv(vulkan_call_conv) void;
99149941
pub const PfnCmdBeginQueryIndexedEXT = *const fn (
@@ -9954,7 +9981,7 @@ pub const PfnCmdSetCoarseSampleOrderNV = *const fn (
99549981
command_buffer: CommandBuffer,
99559982
sample_order_type: CoarseSampleOrderTypeNV,
99569983
custom_sample_order_count: u32,
9957-
p_custom_sample_orders: [*]const CoarseSampleOrderCustomNV,
9984+
p_custom_sample_orders: ?[*]const CoarseSampleOrderCustomNV,
99589985
) callconv(vulkan_call_conv) void;
99599986
pub const PfnCmdDrawMeshTasksNV = *const fn (
99609987
command_buffer: CommandBuffer,
@@ -11024,6 +11051,7 @@ pub fn CommandFlagsMixin(comptime CommandFlags: type) type {
1102411051
}
1102511052
return true;
1102611053
}
11054+
pub usingnamespace FlagFormatMixin(CommandFlags);
1102711055
};
1102811056
}
1102911057
pub const BaseCommandFlags = packed struct {
@@ -11064,7 +11092,7 @@ pub fn BaseWrapper(comptime cmds: BaseCommandFlags) type {
1106411092
const fields_len = fields_len: {
1106511093
var fields_len: u32 = 0;
1106611094
for (@typeInfo(BaseCommandFlags).Struct.fields) |field| {
11067-
fields_len += @as(u32, @intCast(@intFromBool(@field(cmds, field.name))));
11095+
fields_len += @intCast(@intFromBool(@field(cmds, field.name)));
1106811096
}
1106911097
break :fields_len fields_len;
1107011098
};
@@ -11086,7 +11114,7 @@ pub fn BaseWrapper(comptime cmds: BaseCommandFlags) type {
1108611114
}
1108711115
break :blk @Type(.{
1108811116
.Struct = .{
11089-
.layout = .Auto,
11117+
.layout = .auto,
1109011118
.fields = &fields,
1109111119
.decls = &[_]std.builtin.Type.Declaration{},
1109211120
.is_tuple = false,
@@ -11096,18 +11124,18 @@ pub fn BaseWrapper(comptime cmds: BaseCommandFlags) type {
1109611124
pub fn load(loader: anytype) error{CommandLoadFailure}!Self {
1109711125
var self: Self = undefined;
1109811126
inline for (std.meta.fields(Dispatch)) |field| {
11099-
const name = @as([*:0]const u8, @ptrCast(field.name ++ "\x00"));
11127+
const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00");
1110011128
const cmd_ptr = loader(Instance.null_handle, name) orelse return error.CommandLoadFailure;
11101-
@field(self.dispatch, field.name) = @as(field.type, @ptrCast(cmd_ptr));
11129+
@field(self.dispatch, field.name) = @ptrCast(cmd_ptr);
1110211130
}
1110311131
return self;
1110411132
}
1110511133
pub fn loadNoFail(loader: anytype) Self {
1110611134
var self: Self = undefined;
1110711135
inline for (std.meta.fields(Dispatch)) |field| {
11108-
const name = @as([*:0]const u8, @ptrCast(field.name ++ "\x00"));
11136+
const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00");
1110911137
const cmd_ptr = loader(Instance.null_handle, name) orelse undefined;
11110-
@field(self.dispatch, field.name) = @as(field.type, @ptrCast(cmd_ptr));
11138+
@field(self.dispatch, field.name) = @ptrCast(cmd_ptr);
1111111139
}
1111211140
return self;
1111311141
}
@@ -11514,7 +11542,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type {
1151411542
const fields_len = fields_len: {
1151511543
var fields_len: u32 = 0;
1151611544
for (@typeInfo(InstanceCommandFlags).Struct.fields) |field| {
11517-
fields_len += @as(u32, @intCast(@intFromBool(@field(cmds, field.name))));
11545+
fields_len += @intCast(@intFromBool(@field(cmds, field.name)));
1151811546
}
1151911547
break :fields_len fields_len;
1152011548
};
@@ -11536,7 +11564,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type {
1153611564
}
1153711565
break :blk @Type(.{
1153811566
.Struct = .{
11539-
.layout = .Auto,
11567+
.layout = .auto,
1154011568
.fields = &fields,
1154111569
.decls = &[_]std.builtin.Type.Declaration{},
1154211570
.is_tuple = false,
@@ -11546,18 +11574,18 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type {
1154611574
pub fn load(instance: Instance, loader: anytype) error{CommandLoadFailure}!Self {
1154711575
var self: Self = undefined;
1154811576
inline for (std.meta.fields(Dispatch)) |field| {
11549-
const name = @as([*:0]const u8, @ptrCast(field.name ++ "\x00"));
11577+
const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00");
1155011578
const cmd_ptr = loader(instance, name) orelse return error.CommandLoadFailure;
11551-
@field(self.dispatch, field.name) = @as(field.type, @ptrCast(cmd_ptr));
11579+
@field(self.dispatch, field.name) = @ptrCast(cmd_ptr);
1155211580
}
1155311581
return self;
1155411582
}
1155511583
pub fn loadNoFail(instance: Instance, loader: anytype) Self {
1155611584
var self: Self = undefined;
1155711585
inline for (std.meta.fields(Dispatch)) |field| {
11558-
const name = @as([*:0]const u8, @ptrCast(field.name ++ "\x00"));
11586+
const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00");
1155911587
const cmd_ptr = loader(instance, name) orelse undefined;
11560-
@field(self.dispatch, field.name) = @as(field.type, @ptrCast(cmd_ptr));
11588+
@field(self.dispatch, field.name) = @ptrCast(cmd_ptr);
1156111589
}
1156211590
return self;
1156311591
}
@@ -14297,7 +14325,7 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1429714325
const fields_len = fields_len: {
1429814326
var fields_len: u32 = 0;
1429914327
for (@typeInfo(DeviceCommandFlags).Struct.fields) |field| {
14300-
fields_len += @as(u32, @intCast(@intFromBool(@field(cmds, field.name))));
14328+
fields_len += @intCast(@intFromBool(@field(cmds, field.name)));
1430114329
}
1430214330
break :fields_len fields_len;
1430314331
};
@@ -14319,7 +14347,7 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1431914347
}
1432014348
break :blk @Type(.{
1432114349
.Struct = .{
14322-
.layout = .Auto,
14350+
.layout = .auto,
1432314351
.fields = &fields,
1432414352
.decls = &[_]std.builtin.Type.Declaration{},
1432514353
.is_tuple = false,
@@ -14329,18 +14357,18 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1432914357
pub fn load(device: Device, loader: anytype) error{CommandLoadFailure}!Self {
1433014358
var self: Self = undefined;
1433114359
inline for (std.meta.fields(Dispatch)) |field| {
14332-
const name = @as([*:0]const u8, @ptrCast(field.name ++ "\x00"));
14360+
const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00");
1433314361
const cmd_ptr = loader(device, name) orelse return error.CommandLoadFailure;
14334-
@field(self.dispatch, field.name) = @as(field.type, @ptrCast(cmd_ptr));
14362+
@field(self.dispatch, field.name) = @ptrCast(cmd_ptr);
1433514363
}
1433614364
return self;
1433714365
}
1433814366
pub fn loadNoFail(device: Device, loader: anytype) Self {
1433914367
var self: Self = undefined;
1434014368
inline for (std.meta.fields(Dispatch)) |field| {
14341-
const name = @as([*:0]const u8, @ptrCast(field.name ++ "\x00"));
14369+
const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00");
1434214370
const cmd_ptr = loader(device, name) orelse undefined;
14343-
@field(self.dispatch, field.name) = @as(field.type, @ptrCast(cmd_ptr));
14371+
@field(self.dispatch, field.name) = @ptrCast(cmd_ptr);
1434414372
}
1434514373
return self;
1434614374
}
@@ -14379,7 +14407,7 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1437914407
self: Self,
1438014408
queue: Queue,
1438114409
submit_count: u32,
14382-
p_submits: [*]const SubmitInfo,
14410+
p_submits: ?[*]const SubmitInfo,
1438314411
fence: Fence,
1438414412
) QueueSubmitError!void {
1438514413
const result = self.dispatch.vkQueueSubmit(
@@ -14685,7 +14713,7 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1468514713
self: Self,
1468614714
queue: Queue,
1468714715
bind_info_count: u32,
14688-
p_bind_info: [*]const BindSparseInfo,
14716+
p_bind_info: ?[*]const BindSparseInfo,
1468914717
fence: Fence,
1469014718
) QueueBindSparseError!void {
1469114719
const result = self.dispatch.vkQueueBindSparse(
@@ -15651,9 +15679,9 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1565115679
self: Self,
1565215680
device: Device,
1565315681
descriptor_write_count: u32,
15654-
p_descriptor_writes: [*]const WriteDescriptorSet,
15682+
p_descriptor_writes: ?[*]const WriteDescriptorSet,
1565515683
descriptor_copy_count: u32,
15656-
p_descriptor_copies: [*]const CopyDescriptorSet,
15684+
p_descriptor_copies: ?[*]const CopyDescriptorSet,
1565715685
) void {
1565815686
self.dispatch.vkUpdateDescriptorSets(
1565915687
device,
@@ -16042,7 +16070,7 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1604216070
descriptor_set_count: u32,
1604316071
p_descriptor_sets: [*]const DescriptorSet,
1604416072
dynamic_offset_count: u32,
16045-
p_dynamic_offsets: [*]const u32,
16073+
p_dynamic_offsets: ?[*]const u32,
1604616074
) void {
1604716075
self.dispatch.vkCmdBindDescriptorSets(
1604816076
command_buffer,
@@ -16407,11 +16435,11 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1640716435
src_stage_mask: PipelineStageFlags,
1640816436
dst_stage_mask: PipelineStageFlags,
1640916437
memory_barrier_count: u32,
16410-
p_memory_barriers: [*]const MemoryBarrier,
16438+
p_memory_barriers: ?[*]const MemoryBarrier,
1641116439
buffer_memory_barrier_count: u32,
16412-
p_buffer_memory_barriers: [*]const BufferMemoryBarrier,
16440+
p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier,
1641316441
image_memory_barrier_count: u32,
16414-
p_image_memory_barriers: [*]const ImageMemoryBarrier,
16442+
p_image_memory_barriers: ?[*]const ImageMemoryBarrier,
1641516443
) void {
1641616444
self.dispatch.vkCmdWaitEvents(
1641716445
command_buffer,
@@ -16434,11 +16462,11 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1643416462
dst_stage_mask: PipelineStageFlags,
1643516463
dependency_flags: DependencyFlags,
1643616464
memory_barrier_count: u32,
16437-
p_memory_barriers: [*]const MemoryBarrier,
16465+
p_memory_barriers: ?[*]const MemoryBarrier,
1643816466
buffer_memory_barrier_count: u32,
16439-
p_buffer_memory_barriers: [*]const BufferMemoryBarrier,
16467+
p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier,
1644016468
image_memory_barrier_count: u32,
16441-
p_image_memory_barriers: [*]const ImageMemoryBarrier,
16469+
p_image_memory_barriers: ?[*]const ImageMemoryBarrier,
1644216470
) void {
1644316471
self.dispatch.vkCmdPipelineBarrier(
1644416472
command_buffer,
@@ -18855,7 +18883,7 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1885518883
command_buffer: CommandBuffer,
1885618884
first_counter_buffer: u32,
1885718885
counter_buffer_count: u32,
18858-
p_counter_buffers: [*]const Buffer,
18886+
p_counter_buffers: ?[*]const Buffer,
1885918887
p_counter_buffer_offsets: ?[*]const DeviceSize,
1886018888
) void {
1886118889
self.dispatch.vkCmdBeginTransformFeedbackEXT(
@@ -18871,7 +18899,7 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1887118899
command_buffer: CommandBuffer,
1887218900
first_counter_buffer: u32,
1887318901
counter_buffer_count: u32,
18874-
p_counter_buffers: [*]const Buffer,
18902+
p_counter_buffers: ?[*]const Buffer,
1887518903
p_counter_buffer_offsets: ?[*]const DeviceSize,
1887618904
) void {
1887718905
self.dispatch.vkCmdEndTransformFeedbackEXT(
@@ -18977,7 +19005,7 @@ pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type {
1897719005
command_buffer: CommandBuffer,
1897819006
sample_order_type: CoarseSampleOrderTypeNV,
1897919007
custom_sample_order_count: u32,
18980-
p_custom_sample_orders: [*]const CoarseSampleOrderCustomNV,
19008+
p_custom_sample_orders: ?[*]const CoarseSampleOrderCustomNV,
1898119009
) void {
1898219010
self.dispatch.vkCmdSetCoarseSampleOrderNV(
1898319011
command_buffer,

0 commit comments

Comments
 (0)