vertex buffer ssbos working
This commit is contained in:
parent
ff101925ff
commit
98fafa971a
|
|
@ -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()});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue