From 9715eef3883180f9fc730b21fecf946cd9a817c8 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 15 Nov 2023 22:20:26 -0800 Subject: [PATCH] pkg/glslang: build SPIRV lib --- pkg/glslang/build.zig | 11 +++++++++++ pkg/glslang/program.zig | 8 ++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/pkg/glslang/build.zig b/pkg/glslang/build.zig index 1f220f99e..46d0ba4a4 100644 --- a/pkg/glslang/build.zig +++ b/pkg/glslang/build.zig @@ -95,6 +95,17 @@ fn buildGlslang( // ResourceLimits "glslang/ResourceLimits/ResourceLimits.cpp", "glslang/ResourceLimits/resource_limits_c.cpp", + + // SPIRV + "SPIRV/GlslangToSpv.cpp", + "SPIRV/InReadableOrder.cpp", + "SPIRV/Logger.cpp", + "SPIRV/SpvBuilder.cpp", + "SPIRV/SpvPostProcess.cpp", + "SPIRV/doc.cpp", + "SPIRV/SpvTools.cpp", + "SPIRV/disassemble.cpp", + "SPIRV/CInterface/spirv_c_interface.cpp", }, }); diff --git a/pkg/glslang/program.zig b/pkg/glslang/program.zig index 8a925ef15..4cfbc8fa1 100644 --- a/pkg/glslang/program.zig +++ b/pkg/glslang/program.zig @@ -23,15 +23,15 @@ pub const Program = opaque { } pub fn spirvGenerate(self: *Program, stage: c.glslang_stage_t) void { - c.glslang_program_spirv_generate(@ptrCast(self), stage); + c.glslang_program_SPIRV_generate(@ptrCast(self), stage); } pub fn spirvGetSize(self: *Program) usize { - return @intCast(c.glslang_program_spirv_get_size(@ptrCast(self))); + return @intCast(c.glslang_program_SPIRV_get_size(@ptrCast(self))); } pub fn spirvGet(self: *Program, buf: []u8) void { - c.glslang_program_spirv_get(@ptrCast(self), buf.ptr); + c.glslang_program_SPIRV_get(@ptrCast(self), buf.ptr); } pub fn spirvGetPtr(self: *Program) ![*]u8 { @@ -39,7 +39,7 @@ pub const Program = opaque { } pub fn sprivGetMessages(self: *Program) ![:0]const u8 { - const ptr = c.glslang_program_spirv_get_messages(@ptrCast(self)); + const ptr = c.glslang_program_SPIRV_get_messages(@ptrCast(self)); return std.mem.sliceTo(ptr, 0); }