implements default for feature structs

This commit is contained in:
ashpil
2021-07-08 21:31:41 -04:00
committed by Robin Voetter
parent 6a2c379146
commit 0eccd593ce
3 changed files with 25 additions and 0 deletions

View File

@@ -728,9 +728,20 @@ fn Renderer(comptime WriterType: type) type {
try self.writer.writeAll(" = .");
try self.writeIdentifierWithCase(.snake, stype["VK_STRUCTURE_TYPE_".len..]);
} else if (field.field_type == .name and !container.is_union and mem.eql(u8, "VkBool32", field.field_type.name) and isFeatureStruct(container.extends)) {
try self.writer.writeAll(" = FALSE");
}
}
fn isFeatureStruct(maybe_extends: ?[]const []const u8) bool {
if (maybe_extends) |extends| {
return for (extends) |extend| {
if (mem.eql(u8, extend, "VkDeviceCreateInfo")) break true;
} else false;
}
return false;
}
fn renderEnumFieldName(self: *Self, name: []const u8, field_name: []const u8) !void {
try self.writeIdentifierWithCase(.snake, try self.extractEnumFieldName(name, field_name));
}