diff options
| author | Robin Voetter <robin@voetter.nl> | 2021-01-19 01:29:01 +0100 |
|---|---|---|
| committer | Robin Voetter <robin@voetter.nl> | 2021-01-19 15:28:17 +0100 |
| commit | 71ac82ecb028605545b67eaa50b34f4e2494de44 (patch) | |
| tree | 1c59134020383b2aba81b91bed163c5279182acd /src/codegen | |
| parent | 02c138fe7011346ebab5e4b24ba0f8575bb52173 (diff) | |
| download | zig-71ac82ecb028605545b67eaa50b34f4e2494de44.tar.gz zig-71ac82ecb028605545b67eaa50b34f4e2494de44.zip | |
SPIR-V: Make emitting binary more efficient
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/spirv.zig | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig index f0ebd49e1d..7e41913625 100644 --- a/src/codegen/spirv.zig +++ b/src/codegen/spirv.zig @@ -19,4 +19,10 @@ pub const SPIRVModule = struct { pub fn genDecl(self: SPIRVModule, id: u32, code: *std.ArrayList(u32), decl: *Decl) !void { } + + pub fn writeInstruction(code: *std.ArrayList(u32), instr: spec.Opcode, args: []const u32) !void { + const word_count = @intCast(u32, args.len + 1); + try code.append((word_count << 16) | @enumToInt(instr)); + try code.appendSlice(args); + } }; |
