forked from mirror/vulkan-zig
Compare commits
3 Commits
vkbool32-e
...
zig-0.14-c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2be3eefdfe | ||
|
|
17ddd01e42 | ||
|
|
2846d415d8 |
@@ -365,10 +365,18 @@ fn parsePointerMeta(fields: Fields, type_info: *registry.TypeInfo, elem: *xml.El
|
||||
else => break,
|
||||
};
|
||||
|
||||
if (it.next()) |_| {
|
||||
if (it.next()) |_| ignore: {
|
||||
// There are more elements in the `len` attribute than there are pointers
|
||||
// Something probably went wrong
|
||||
std.log.err("len: {s}", .{lens});
|
||||
switch (current_type_info.*) {
|
||||
.name => |name| if (std.mem.eql(u8, name, "StdVideoH265SubLayerHrdParameters")) {
|
||||
// Known issue: https://github.com/KhronosGroup/Vulkan-Docs/issues/2557
|
||||
break :ignore;
|
||||
},
|
||||
else => {},
|
||||
}
|
||||
|
||||
std.log.err("excessive pointer lengths: {s}", .{lens});
|
||||
return error.InvalidRegistry;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ const preamble =
|
||||
\\
|
||||
\\pub const vulkan_call_conv: std.builtin.CallingConvention = if (builtin.os.tag == .windows and builtin.cpu.arch == .x86)
|
||||
\\ .Stdcall
|
||||
\\ else if (builtin.abi == .android and (builtin.cpu.arch.isARM() or builtin.cpu.arch.isThumb()) and std.Target.arm.featureSetHas(builtin.cpu.features, .has_v7) and builtin.cpu.arch.ptrBitWidth() == 32)
|
||||
\\ else if (builtin.abi == .android and (builtin.cpu.arch.isArm() or builtin.cpu.arch.isThumb()) and std.Target.arm.featureSetHas(builtin.cpu.features, .has_v7) and builtin.cpu.arch.ptrBitWidth() == 32)
|
||||
\\ // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat"
|
||||
\\ // calling convention, i.e. float parameters are passed in registers. This
|
||||
\\ // is true even if the rest of the application passes floats on the stack,
|
||||
|
||||
Reference in New Issue
Block a user