File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -366,10 +366,18 @@ fn processTypeInstruction(self: *Assembler) !AsmValue {
366
366
const child_type = try self .resolveRefId (operands [1 ].ref_id );
367
367
break :blk try self .spv .vectorType (operands [2 ].literal32 , child_type );
368
368
},
369
- .OpTypeArray = > {
369
+ .OpTypeArray = > blk : {
370
370
// TODO: The length of an OpTypeArray is determined by a constant (which may be a spec constant),
371
371
// and so some consideration must be taken when entering this in the type system.
372
- return self .todo ("process OpTypeArray" , .{});
372
+ const element_type = try self .resolveRefId (operands [1 ].ref_id );
373
+ const length = try self .resolveRefId (operands [2 ].ref_id );
374
+ const result_id = self .spv .allocId ();
375
+ try section .emit (self .spv .gpa , .OpTypeArray , .{
376
+ .id_result = result_id ,
377
+ .element_type = element_type ,
378
+ .length = length ,
379
+ });
380
+ break :blk result_id ;
373
381
},
374
382
.OpTypeRuntimeArray = > blk : {
375
383
const element_type = try self .resolveRefId (operands [1 ].ref_id );
You can’t perform that action at this time.
0 commit comments