diff --git a/src/Value.zig b/src/Value.zig index 2ddb141..9476a55 100644 --- a/src/Value.zig +++ b/src/Value.zig @@ -93,7 +93,7 @@ pub const Value = union(Type) { i32_ptr: *i32, //< For vector specializations u32_ptr: *u32, }, - runtime_array_window: ?[]u8 = null, + uniform_slice_window: ?[]u8 = null, }, pub inline fn getCompositeDataOrNull(self: *const Self) ?[]Self { @@ -440,7 +440,7 @@ pub const Value = union(Type) { pub fn flushPtr(self: *Self, allocator: std.mem.Allocator) RuntimeError!void { switch (self.*) { .Pointer => |*p| { - if (p.runtime_array_window) |window| { + if (p.uniform_slice_window) |window| { switch (p.ptr) { .common => |ptr| { _ = try ptr.read(window); @@ -450,7 +450,7 @@ pub const Value = union(Type) { else => {}, } } - p.runtime_array_window = null; + p.uniform_slice_window = null; }, else => {}, } diff --git a/src/opcodes.zig b/src/opcodes.zig index 7670d32..4527277 100644 --- a/src/opcodes.zig +++ b/src/opcodes.zig @@ -516,7 +516,10 @@ fn CondOperator(comptime T: ValueType, comptime Op: CondOp) type { } return switch (Op) { .IsFinite => std.math.isFinite(a), - .IsInf => std.math.isInf(a), + .IsInf => blk: { + std.debug.print("test {s} - {d} - {s}\n", .{ @typeName(TT), a, if (std.math.isInf(a)) "true" else "false" }); + break :blk std.math.isInf(a); + }, .IsNan => std.math.isNan(a), .IsNormal => std.math.isNormal(a), else => RuntimeError.InvalidSpirV, @@ -1186,7 +1189,7 @@ fn opAccessChain(allocator: std.mem.Allocator, word_count: SpvWord, rt: *Runtime .AccessChain = .{ .target = var_type, .value = blk: { - var runtime_array_window: ?[]u8 = null; + var uniform_slice_window: ?[]u8 = null; for (0..index_count) |index| { const is_last = (index == index_count - 1); @@ -1213,7 +1216,7 @@ fn opAccessChain(allocator: std.mem.Allocator, word_count: SpvWord, rt: *Runtime .RuntimeArray => |*arr| { value_ptr = try arr.createValueFromIndex(if (is_last) allocator else arena_allocator, rt.results, i.value.uint32); if (is_last) - runtime_array_window = arr.data[(try arr.getOffsetOfIndex(i.value.uint32))..]; + uniform_slice_window = arr.data[(try arr.getOffsetOfIndex(i.value.uint32))..]; }, .Vector4f32 => |*v| { if (i.value.uint32 > 4) return RuntimeError.OutOfBounds; @@ -1260,7 +1263,7 @@ fn opAccessChain(allocator: std.mem.Allocator, word_count: SpvWord, rt: *Runtime break :blk .{ .Pointer = .{ .ptr = .{ .common = value_ptr }, - .runtime_array_window = runtime_array_window, + .uniform_slice_window = uniform_slice_window, }, }; },