fix alignment for shader binary

This commit is contained in:
Robin Voetter
2022-09-24 00:40:17 +02:00
committed by ashpil
parent 33a137a0dd
commit c42f540ce3
2 changed files with 4 additions and 4 deletions

View File

@@ -59,9 +59,9 @@ pub const ResourceGenStep = struct {
const shader_out_path = self.shader_step.add(source, .{}); const shader_out_path = self.shader_step.add(source, .{});
var writer = self.resources.writer(); var writer = self.resources.writer();
writer.print("pub const {s} = @embedFile(\"", .{name}) catch unreachable; writer.print("pub const {s} align(@alignOf(u32)) = @embedFile(\"", .{name}) catch unreachable;
renderPath(shader_out_path, writer); renderPath(shader_out_path, writer);
writer.writeAll("\");\n") catch unreachable; writer.writeAll("\").*;\n") catch unreachable;
} }
fn make(step: *Step) !void { fn make(step: *Step) !void {

View File

@@ -379,14 +379,14 @@ fn createPipeline(
const vert = try gc.vkd.createShaderModule(gc.dev, &.{ const vert = try gc.vkd.createShaderModule(gc.dev, &.{
.flags = .{}, .flags = .{},
.code_size = resources.triangle_vert.len, .code_size = resources.triangle_vert.len,
.p_code = @ptrCast([*]const u32, resources.triangle_vert), .p_code = @ptrCast([*]const u32, &resources.triangle_vert),
}, null); }, null);
defer gc.vkd.destroyShaderModule(gc.dev, vert, null); defer gc.vkd.destroyShaderModule(gc.dev, vert, null);
const frag = try gc.vkd.createShaderModule(gc.dev, &.{ const frag = try gc.vkd.createShaderModule(gc.dev, &.{
.flags = .{}, .flags = .{},
.code_size = resources.triangle_frag.len, .code_size = resources.triangle_frag.len,
.p_code = @ptrCast([*]const u32, resources.triangle_frag), .p_code = @ptrCast([*]const u32, &resources.triangle_frag),
}, null); }, null);
defer gc.vkd.destroyShaderModule(gc.dev, frag, null); defer gc.vkd.destroyShaderModule(gc.dev, frag, null);