adding result get from location
Build / build (push) Successful in 1m46s
Test / build (push) Successful in 7m49s

This commit is contained in:
2026-04-26 02:39:21 +02:00
parent ab34c3b49a
commit 147126c06f
3 changed files with 35 additions and 4 deletions
+12
View File
@@ -8,6 +8,11 @@ const CSpecializationEntry = extern struct {
size: u32,
};
const LocationType = enum(c_int) {
input = 0,
output = 1,
};
fn toCResult(err: spv.Runtime.RuntimeError) ffi.Result {
return switch (err) {
spv.Runtime.RuntimeError.DivisionByZero => ffi.Result.DivisionByZero,
@@ -63,6 +68,13 @@ export fn SpvGetEntryPointByName(rt: *spv.Runtime, name: [*:0]const u8, result:
return .Success;
}
export fn SpvGetResultByLocation(rt: *spv.Runtime, location: spv.SpvWord, kind: LocationType, result: *spv.SpvWord) callconv(.c) ffi.Result {
result.* = rt.getResultByLocation(location, switch (kind) {
.input => .input,
.output => .output,
}) catch |err| return toCResult(err);
return .Success;
}
export fn SpvGetResultByName(rt: *spv.Runtime, name: [*:0]const u8, result: *spv.SpvWord) callconv(.c) ffi.Result {
result.* = rt.getResultByName(std.mem.span(name)) catch |err| return toCResult(err);
return .Success;