aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/spirv/Module.zig
diff options
context:
space:
mode:
authorAli Cheraghi <alichraghi@proton.me>2025-03-12 07:38:50 +0330
committerAli Cheraghi <alichraghi@proton.me>2025-03-18 07:05:48 +0330
commit54c097f50ddc794dc2b3890490379ab2f8371443 (patch)
treebc08f97c3095a37deb1e81922470b2782f08a212 /src/codegen/spirv/Module.zig
parent50539a2447c0720f91789063d7349bd0103de4bd (diff)
downloadzig-54c097f50ddc794dc2b3890490379ab2f8371443.tar.gz
zig-54c097f50ddc794dc2b3890490379ab2f8371443.zip
spirv: packed struct init + field val access
Diffstat (limited to 'src/codegen/spirv/Module.zig')
-rw-r--r--src/codegen/spirv/Module.zig11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/codegen/spirv/Module.zig b/src/codegen/spirv/Module.zig
index 6dc0e5842a..1acdc0915c 100644
--- a/src/codegen/spirv/Module.zig
+++ b/src/codegen/spirv/Module.zig
@@ -613,6 +613,17 @@ pub fn functionType(self: *Module, return_ty_id: IdRef, param_type_ids: []const
return result_id;
}
+pub fn constant(self: *Module, result_ty_id: IdRef, value: spec.LiteralContextDependentNumber) !IdRef {
+ const result_id = self.allocId();
+ const section = &self.sections.types_globals_constants;
+ try section.emit(self.gpa, .OpConstant, .{
+ .id_result_type = result_ty_id,
+ .id_result = result_id,
+ .value = value,
+ });
+ return result_id;
+}
+
pub fn constBool(self: *Module, value: bool) !IdRef {
if (self.cache.bool_const[@intFromBool(value)]) |b| return b;