[Flint] adding compute resource layout lowering
Mirror Gitea refs to GitHub / mirror (push) Successful in 18s
Test / build_and_test (push) Successful in 2m12s
Build / build (push) Successful in 3m21s

This commit is contained in:
2026-08-14 20:41:31 +02:00
parent 8c934c7328
commit 04ff263b40
13 changed files with 484 additions and 64 deletions
+18
View File
@@ -6,6 +6,10 @@ const common_ir = @import("../lower/common_ir.zig");
pub const gen9 = @import("gen9/gen9.zig");
pub const ComputeResourceLayout = gen9.compute.ResourceLayout;
pub const ResourceLayoutError = gen9.compute.resource_layout.Error || error{UnsupportedGeneration};
pub const ResourceLoweringError = gen9.ResourceLoweringError || error{UnsupportedGeneration};
pub const Error = gen9.Error || error{UnsupportedGeneration};
pub const ValidationError = gen9.validator.Error || error{UnsupportedGeneration};
@@ -21,6 +25,20 @@ pub fn lower(
};
}
pub fn layoutComputeResources(allocator: std.mem.Allocator, program: *const program_ir.Program) ResourceLayoutError!ComputeResourceLayout {
return switch (program.device_info.generation) {
.gen9 => ComputeResourceLayout.init(allocator, program),
.gen10, .gen11 => ResourceLayoutError.UnsupportedGeneration,
};
}
pub fn lowerComputeResources(program: *program_ir.Program, layout: *const ComputeResourceLayout) ResourceLoweringError!void {
return switch (program.device_info.generation) {
.gen9 => gen9.lowerComputeResources(program, layout),
.gen10, .gen11 => ResourceLoweringError.UnsupportedGeneration,
};
}
pub fn validate(program: *const program_ir.Program) ValidationError!void {
return switch (program.device_info.generation) {
.gen9 => gen9.validator.validate(program),