forked from mirror/vulkan-zig
Merge pull request #203 from Snektron/vkbool32-enum
replace vk.Bool32 with enum
This commit is contained in:
@@ -253,7 +253,7 @@ fn allocateQueues(instance: Instance, pdev: vk.PhysicalDevice, allocator: Alloca
|
|||||||
graphics_family = family;
|
graphics_family = family;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (present_family == null and (try instance.getPhysicalDeviceSurfaceSupportKHR(pdev, family, surface)) == vk.TRUE) {
|
if (present_family == null and (try instance.getPhysicalDeviceSurfaceSupportKHR(pdev, family, surface)) == .true) {
|
||||||
present_family = family;
|
present_family = family;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ pub const Swapchain = struct {
|
|||||||
.pre_transform = caps.current_transform,
|
.pre_transform = caps.current_transform,
|
||||||
.composite_alpha = .{ .opaque_bit_khr = true },
|
.composite_alpha = .{ .opaque_bit_khr = true },
|
||||||
.present_mode = present_mode,
|
.present_mode = present_mode,
|
||||||
.clipped = vk.TRUE,
|
.clipped = .true,
|
||||||
.old_swapchain = old_handle,
|
.old_swapchain = old_handle,
|
||||||
}, null) catch {
|
}, null) catch {
|
||||||
return error.SwapchainCreationFailed;
|
return error.SwapchainCreationFailed;
|
||||||
@@ -261,7 +261,7 @@ const SwapImage = struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn waitForFence(self: SwapImage, gc: *const GraphicsContext) !void {
|
fn waitForFence(self: SwapImage, gc: *const GraphicsContext) !void {
|
||||||
_ = try gc.dev.waitForFences(1, @ptrCast(&self.frame_fence), vk.TRUE, std.math.maxInt(u64));
|
_ = try gc.dev.waitForFences(1, @ptrCast(&self.frame_fence), .true, std.math.maxInt(u64));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -414,7 +414,7 @@ fn createPipeline(
|
|||||||
|
|
||||||
const piasci = vk.PipelineInputAssemblyStateCreateInfo{
|
const piasci = vk.PipelineInputAssemblyStateCreateInfo{
|
||||||
.topology = .triangle_list,
|
.topology = .triangle_list,
|
||||||
.primitive_restart_enable = vk.FALSE,
|
.primitive_restart_enable = .false,
|
||||||
};
|
};
|
||||||
|
|
||||||
const pvsci = vk.PipelineViewportStateCreateInfo{
|
const pvsci = vk.PipelineViewportStateCreateInfo{
|
||||||
@@ -425,12 +425,12 @@ fn createPipeline(
|
|||||||
};
|
};
|
||||||
|
|
||||||
const prsci = vk.PipelineRasterizationStateCreateInfo{
|
const prsci = vk.PipelineRasterizationStateCreateInfo{
|
||||||
.depth_clamp_enable = vk.FALSE,
|
.depth_clamp_enable = .false,
|
||||||
.rasterizer_discard_enable = vk.FALSE,
|
.rasterizer_discard_enable = .false,
|
||||||
.polygon_mode = .fill,
|
.polygon_mode = .fill,
|
||||||
.cull_mode = .{ .back_bit = true },
|
.cull_mode = .{ .back_bit = true },
|
||||||
.front_face = .clockwise,
|
.front_face = .clockwise,
|
||||||
.depth_bias_enable = vk.FALSE,
|
.depth_bias_enable = .false,
|
||||||
.depth_bias_constant_factor = 0,
|
.depth_bias_constant_factor = 0,
|
||||||
.depth_bias_clamp = 0,
|
.depth_bias_clamp = 0,
|
||||||
.depth_bias_slope_factor = 0,
|
.depth_bias_slope_factor = 0,
|
||||||
@@ -439,14 +439,14 @@ fn createPipeline(
|
|||||||
|
|
||||||
const pmsci = vk.PipelineMultisampleStateCreateInfo{
|
const pmsci = vk.PipelineMultisampleStateCreateInfo{
|
||||||
.rasterization_samples = .{ .@"1_bit" = true },
|
.rasterization_samples = .{ .@"1_bit" = true },
|
||||||
.sample_shading_enable = vk.FALSE,
|
.sample_shading_enable = .false,
|
||||||
.min_sample_shading = 1,
|
.min_sample_shading = 1,
|
||||||
.alpha_to_coverage_enable = vk.FALSE,
|
.alpha_to_coverage_enable = .false,
|
||||||
.alpha_to_one_enable = vk.FALSE,
|
.alpha_to_one_enable = .false,
|
||||||
};
|
};
|
||||||
|
|
||||||
const pcbas = vk.PipelineColorBlendAttachmentState{
|
const pcbas = vk.PipelineColorBlendAttachmentState{
|
||||||
.blend_enable = vk.FALSE,
|
.blend_enable = .false,
|
||||||
.src_color_blend_factor = .one,
|
.src_color_blend_factor = .one,
|
||||||
.dst_color_blend_factor = .zero,
|
.dst_color_blend_factor = .zero,
|
||||||
.color_blend_op = .add,
|
.color_blend_op = .add,
|
||||||
@@ -457,7 +457,7 @@ fn createPipeline(
|
|||||||
};
|
};
|
||||||
|
|
||||||
const pcbsci = vk.PipelineColorBlendStateCreateInfo{
|
const pcbsci = vk.PipelineColorBlendStateCreateInfo{
|
||||||
.logic_op_enable = vk.FALSE,
|
.logic_op_enable = .false,
|
||||||
.logic_op = .copy,
|
.logic_op = .copy,
|
||||||
.attachment_count = 1,
|
.attachment_count = 1,
|
||||||
.p_attachments = @ptrCast(&pcbas),
|
.p_attachments = @ptrCast(&pcbas),
|
||||||
|
|||||||
@@ -848,6 +848,10 @@ const Renderer = struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn renderDecl(self: *Self, decl: reg.Declaration) !void {
|
fn renderDecl(self: *Self, decl: reg.Declaration) !void {
|
||||||
|
if (try self.renderSpecial(decl.name)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch (decl.decl_type) {
|
switch (decl.decl_type) {
|
||||||
.container => |container| try self.renderContainer(decl.name, container),
|
.container => |container| try self.renderContainer(decl.name, container),
|
||||||
.enumeration => |enumeration| try self.renderEnumeration(decl.name, enumeration),
|
.enumeration => |enumeration| try self.renderEnumeration(decl.name, enumeration),
|
||||||
@@ -861,10 +865,27 @@ const Renderer = struct {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn renderSpecialContainer(self: *Self, name: []const u8) !bool {
|
fn renderAssign(self: *Self, name: []const u8) !void {
|
||||||
|
try self.writer.writeAll("pub const ");
|
||||||
|
try self.renderName(name);
|
||||||
|
try self.writer.writeAll(" = ");
|
||||||
|
}
|
||||||
|
|
||||||
|
fn renderSpecial(self: *Self, name: []const u8) !bool {
|
||||||
const maybe_author = self.id_renderer.getAuthorTag(name);
|
const maybe_author = self.id_renderer.getAuthorTag(name);
|
||||||
const basename = self.id_renderer.stripAuthorTag(name);
|
const basename = self.id_renderer.stripAuthorTag(name);
|
||||||
if (std.mem.eql(u8, basename, "VkAccelerationStructureInstance")) {
|
if (std.mem.eql(u8, basename, "VkBool32")) {
|
||||||
|
try self.renderAssign(name);
|
||||||
|
try self.writer.writeAll(
|
||||||
|
\\enum(i32) {
|
||||||
|
\\ false,
|
||||||
|
\\ true,
|
||||||
|
\\ _,
|
||||||
|
\\};
|
||||||
|
\\
|
||||||
|
);
|
||||||
|
} else if (std.mem.eql(u8, basename, "VkAccelerationStructureInstance")) {
|
||||||
|
try self.renderAssign(name);
|
||||||
try self.writer.print(
|
try self.writer.print(
|
||||||
\\extern struct {{
|
\\extern struct {{
|
||||||
\\ transform: TransformMatrix{s},
|
\\ transform: TransformMatrix{s},
|
||||||
@@ -882,8 +903,8 @@ const Renderer = struct {
|
|||||||
,
|
,
|
||||||
.{maybe_author orelse ""},
|
.{maybe_author orelse ""},
|
||||||
);
|
);
|
||||||
return true;
|
|
||||||
} else if (std.mem.eql(u8, basename, "VkAccelerationStructureSRTMotionInstance")) {
|
} else if (std.mem.eql(u8, basename, "VkAccelerationStructureSRTMotionInstance")) {
|
||||||
|
try self.renderAssign(name);
|
||||||
try self.writer.print(
|
try self.writer.print(
|
||||||
\\extern struct {{
|
\\extern struct {{
|
||||||
\\ transform_t0: SRTData{0s},
|
\\ transform_t0: SRTData{0s},
|
||||||
@@ -902,8 +923,8 @@ const Renderer = struct {
|
|||||||
,
|
,
|
||||||
.{maybe_author orelse ""},
|
.{maybe_author orelse ""},
|
||||||
);
|
);
|
||||||
return true;
|
|
||||||
} else if (std.mem.eql(u8, basename, "VkAccelerationStructureMatrixMotionInstance")) {
|
} else if (std.mem.eql(u8, basename, "VkAccelerationStructureMatrixMotionInstance")) {
|
||||||
|
try self.renderAssign(name);
|
||||||
try self.writer.print(
|
try self.writer.print(
|
||||||
\\extern struct {{
|
\\extern struct {{
|
||||||
\\ transform_t0: TransformMatrix{0s},
|
\\ transform_t0: TransformMatrix{0s},
|
||||||
@@ -922,8 +943,8 @@ const Renderer = struct {
|
|||||||
,
|
,
|
||||||
.{maybe_author orelse ""},
|
.{maybe_author orelse ""},
|
||||||
);
|
);
|
||||||
return true;
|
|
||||||
} else if (std.mem.eql(u8, basename, "VkClusterAccelerationStructureBuildTriangleClusterInfo")) {
|
} else if (std.mem.eql(u8, basename, "VkClusterAccelerationStructureBuildTriangleClusterInfo")) {
|
||||||
|
try self.renderAssign(name);
|
||||||
try self.writer.print(
|
try self.writer.print(
|
||||||
\\extern struct {{
|
\\extern struct {{
|
||||||
\\ cluster_id: u32,
|
\\ cluster_id: u32,
|
||||||
@@ -949,8 +970,8 @@ const Renderer = struct {
|
|||||||
,
|
,
|
||||||
.{maybe_author orelse ""},
|
.{maybe_author orelse ""},
|
||||||
);
|
);
|
||||||
return true;
|
|
||||||
} else if (std.mem.eql(u8, basename, "VkClusterAccelerationStructureBuildTriangleClusterTemplateInfo")) {
|
} else if (std.mem.eql(u8, basename, "VkClusterAccelerationStructureBuildTriangleClusterTemplateInfo")) {
|
||||||
|
try self.renderAssign(name);
|
||||||
try self.writer.print(
|
try self.writer.print(
|
||||||
\\extern struct {{
|
\\extern struct {{
|
||||||
\\ cluster_id: u32,
|
\\ cluster_id: u32,
|
||||||
@@ -977,8 +998,8 @@ const Renderer = struct {
|
|||||||
,
|
,
|
||||||
.{maybe_author orelse ""},
|
.{maybe_author orelse ""},
|
||||||
);
|
);
|
||||||
return true;
|
|
||||||
} else if (std.mem.eql(u8, basename, "VkClusterAccelerationStructureInstantiateClusterInfo")) {
|
} else if (std.mem.eql(u8, basename, "VkClusterAccelerationStructureInstantiateClusterInfo")) {
|
||||||
|
try self.renderAssign(name);
|
||||||
try self.writer.print(
|
try self.writer.print(
|
||||||
\\extern struct {{
|
\\extern struct {{
|
||||||
\\ cluster_id_offset: u32,
|
\\ cluster_id_offset: u32,
|
||||||
@@ -992,10 +1013,11 @@ const Renderer = struct {
|
|||||||
,
|
,
|
||||||
.{maybe_author orelse ""},
|
.{maybe_author orelse ""},
|
||||||
);
|
);
|
||||||
return true;
|
} else {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn renderSimpleBitContainer(self: *Self, container: reg.Container) !bool {
|
fn renderSimpleBitContainer(self: *Self, container: reg.Container) !bool {
|
||||||
@@ -1051,10 +1073,6 @@ const Renderer = struct {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (try self.renderSpecialContainer(name)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (container.fields) |field| {
|
for (container.fields) |field| {
|
||||||
if (field.bits != null) {
|
if (field.bits != null) {
|
||||||
return error.UnhandledBitfieldStruct;
|
return error.UnhandledBitfieldStruct;
|
||||||
@@ -1109,7 +1127,7 @@ const Renderer = struct {
|
|||||||
try self.writer.writeAll(" = .");
|
try self.writer.writeAll(" = .");
|
||||||
try self.writeIdentifierWithCase(.snake, stype["VK_STRUCTURE_TYPE_".len..]);
|
try self.writeIdentifierWithCase(.snake, stype["VK_STRUCTURE_TYPE_".len..]);
|
||||||
} else if (field.field_type == .name and mem.eql(u8, "VkBool32", field.field_type.name) and isFeatureStruct(name, container.extends)) {
|
} else if (field.field_type == .name and mem.eql(u8, "VkBool32", field.field_type.name) and isFeatureStruct(name, container.extends)) {
|
||||||
try self.writer.writeAll(" = FALSE");
|
try self.writer.writeAll(" = .false");
|
||||||
} else if (field.is_optional) {
|
} else if (field.is_optional) {
|
||||||
if (field.field_type == .name) {
|
if (field.field_type == .name) {
|
||||||
const field_type_name = field.field_type.name;
|
const field_type_name = field.field_type.name;
|
||||||
@@ -1120,6 +1138,8 @@ const Renderer = struct {
|
|||||||
try self.writer.writeAll(" = .{}");
|
try self.writer.writeAll(" = .{}");
|
||||||
} else if (decl_type == .typedef and decl_type.typedef == .command_ptr) {
|
} else if (decl_type == .typedef and decl_type.typedef == .command_ptr) {
|
||||||
try self.writer.writeAll(" = null");
|
try self.writer.writeAll(" = null");
|
||||||
|
} else if (mem.eql(u8, "VkBool32", field.field_type.name)) {
|
||||||
|
try self.writer.writeAll(" = .false");
|
||||||
} else if ((decl_type == .typedef and builtin_types.has(decl_type.typedef.name)) or
|
} else if ((decl_type == .typedef and builtin_types.has(decl_type.typedef.name)) or
|
||||||
(decl_type == .foreign and builtin_types.has(field_type_name)))
|
(decl_type == .foreign and builtin_types.has(field_type_name)))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user