35 lines · plain
1// RUN: mlir-opt --split-input-file --verify-diagnostics %s | FileCheck %s2 3//===----------------------------------------------------------------------===//4// spirv.EmitMeshTasksEXT5//===----------------------------------------------------------------------===//6 7func.func @emit_mesh_tasks(%0 : i32) {8 // CHECK: spirv.EXT.EmitMeshTasks {{%.*}}, {{%.*}}, {{%.*}} : i32, i32, i329 spirv.EXT.EmitMeshTasks %0, %0, %0 : i32, i32, i3210}11 12func.func @emit_mesh_tasks_payload(%0 : i32, %1 : !spirv.ptr<i32, TaskPayloadWorkgroupEXT>) {13 // CHECK: spirv.EXT.EmitMeshTasks {{%.*}}, {{%.*}}, {{%.*}}, {{%.*}} : i32, i32, i32, !spirv.ptr<i32, TaskPayloadWorkgroupEXT>14 spirv.EXT.EmitMeshTasks %0, %0, %0, %1 : i32, i32, i32, !spirv.ptr<i32, TaskPayloadWorkgroupEXT>15}16 17// -----18 19func.func @emit_mesh_tasks_wrong_payload(%0 : i32, %1 : !spirv.ptr<i32, Image>) {20 // expected-error @+1 {{payload must be a variable with a storage class of TaskPayloadWorkgroupEXT}}21 spirv.EXT.EmitMeshTasks %0, %0, %0, %1 : i32, i32, i32, !spirv.ptr<i32, Image>22}23 24// -----25 26//===----------------------------------------------------------------------===//27// spirv.SetMeshOutputsEXT28//===----------------------------------------------------------------------===//29 30func.func @set_mesh_outputs(%0 : i32, %1 : i32) {31 // CHECK: spirv.EXT.SetMeshOutputs {{%.*}}, {{%.*}} : i32, i3232 spirv.EXT.SetMeshOutputs %0, %1 : i32, i3233 spirv.Return34}35