From 98fafa971aa400437d775bb47fd99f264cbcb372 Mon Sep 17 00:00:00 2001 From: Peter Li Date: Fri, 18 Apr 2025 20:05:26 -0700 Subject: [PATCH] vertex buffer ssbos working --- engine/rend/src/sgpu/renderer.zig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/engine/rend/src/sgpu/renderer.zig b/engine/rend/src/sgpu/renderer.zig index 426df47..7348db6 100644 --- a/engine/rend/src/sgpu/renderer.zig +++ b/engine/rend/src/sgpu/renderer.zig @@ -106,7 +106,7 @@ pub const Renderer = struct { } pub fn createMeshPipeline(self: *@This()) !void { - const vertex = try self.loadShader("meshes.vert", sample_vert.LoadArgs); + const vertex = try self.loadShader("meshes.vert", meshes_vert.LoadArgs); const fragment = try self.loadShader("lit_mesh.frag", lit_mesh_frag.LoadArgs); var pci = std.mem.zeroes(gpu.GPUGraphicsPipelineCreateInfo); @@ -149,7 +149,7 @@ pub const Renderer = struct { // todo.. sparse uploads self.ssboScene = self.device.createGPUBuffer(&.{ - .usage = .{ .bufferusageGraphicsStorageRead = true }, + .usage = .{ .bufferusageGraphicsStorageRead = true, .bufferusageVertex = true }, .size = MaxObjectCount * @sizeOf(meshes_vert.Scene), .props = 0, }); @@ -205,7 +205,7 @@ pub const Renderer = struct { self.testPipeline = self.device.createGPUGraphicsPipeline(&pci); self.colorBuffer = self.device.createGPUBuffer(&.{ - .usage = .{ .bufferusageVertex = true }, + .usage = .{ .bufferusageVertex = true, .bufferusageGraphicsStorageRead = true }, .size = 8192 * 2, .props = 0, }); @@ -277,7 +277,6 @@ pub const Renderer = struct { // map and upload Uniforms here const copyPass = cmd.beginGPUCopyPass(); - defer copyPass.endGPUCopyPass(); copyPass.uploadToGPUBuffer(&.{ .transfer_buffer = self.colorBufferTransfer, .offset = 0 }, &.{ .buffer = self.colorBuffer, .offset = 0, @@ -288,6 +287,7 @@ pub const Renderer = struct { upload.func(upload.ptr, copyPass); } + copyPass.endGPUCopyPass(); if (!cmd.submitGPUCommandBuffer()) { core.graphics_log("submit gpu command buffer SDL ERROR: {s}", .{sdl3.getError()}); }