From 3781fe779c054575a118e3d0c580a3e47b6d9028 Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Tue, 22 Feb 2022 13:29:55 +0100 Subject: [PATCH] render error sets for all functions returning VkResult > VK_ERROR_UNKNOWN will be returned by an implementation when an unexpected > error occurs that cannot be attributed to valid behavior of the application > and implementation. Under these conditions, it may be returned from any > command returning a VkResult. Fixes #42 --- generator/vulkan/render.zig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/generator/vulkan/render.zig b/generator/vulkan/render.zig index 2f31f22..9454343 100644 --- a/generator/vulkan/render.zig +++ b/generator/vulkan/render.zig @@ -1026,7 +1026,7 @@ fn Renderer(comptime WriterType: type) type { \\ var fields_array: [fields_len]TypeInfo.StructField = undefined; \\ var fields: []TypeInfo.StructField = fields_array[0..]; \\ fields.len = 0; - \\ + \\ \\ for (std.enums.values({0s}Command)) |cmd_tag| {{ \\ if (@field(cmds, @tagName(cmd_tag))) {{ \\ const PfnType = cmd_tag.PfnType(); @@ -1130,7 +1130,8 @@ fn Renderer(comptime WriterType: type) type { try self.writer.writeAll(") "); - if (command.error_codes.len > 0) { + const returns_vk_result = command.return_type.* == .name and mem.eql(u8, command.return_type.name, "VkResult"); + if (returns_vk_result) { try self.renderErrorSetName(name); try self.writer.writeByte('!'); } @@ -1245,7 +1246,7 @@ fn Renderer(comptime WriterType: type) type { try self.renderReturnStruct(name, returns); } - if (command.error_codes.len > 0) { + if (returns_vk_result) { try self.writer.writeAll("pub const "); try self.renderErrorSetName(name); try self.writer.writeAll(" = ");