From 95c3df90c604bef15747b7298f17c1a8f2b2b34a Mon Sep 17 00:00:00 2001 From: Kbz-8 Date: Mon, 15 Dec 2025 10:26:28 +0100 Subject: [PATCH] fill buffer fix --- build.zig | 2 +- src/soft/Executor.zig | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/build.zig b/build.zig index 86ed3c1..d37a38d 100644 --- a/build.zig +++ b/build.zig @@ -246,7 +246,7 @@ fn addMultithreadedCTS(b: *std.Build, target: std.Build.ResolvedTarget, impl: *c }, })); - const mustpass_path = try cts.path("mustpass/1.0.0/vk-default.txt").getPath3(b, null).toString(b.allocator); + const mustpass_path = try cts.path("mustpass/master/vk-default.txt").getPath3(b, null).toString(b.allocator); const cts_exe_path = try cts_exe_name.getPath3(b, null).toString(b.allocator); const run = b.addSystemCommand(&[_][]const u8{"deqp-runner"}); diff --git a/src/soft/Executor.zig b/src/soft/Executor.zig index 67de14a..1b148ec 100644 --- a/src/soft/Executor.zig +++ b/src/soft/Executor.zig @@ -69,7 +69,13 @@ fn fillBuffer(data: *const cmd.CommandFillBuffer) VkError!void { const memory = if (data.buffer.memory) |memory| memory else return VkError.ValidationFailed; var memory_map: []u32 = @as([*]u32, @ptrCast(@alignCast(try memory.map(data.offset, data.size))))[0..data.size]; - for (0..@divExact(data.size, @sizeOf(u32))) |i| { + var bytes = if (data.size == vk.WHOLE_SIZE) memory.size - data.offset else data.size; + + var i: usize = 0; + while (bytes >= 4) : ({ + bytes -= 4; + i += 1; + }) { memory_map[i] = data.data; }