diff options
Diffstat (limited to 'source/val/validate_cfg.cpp')
-rw-r--r-- | source/val/validate_cfg.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/val/validate_cfg.cpp b/source/val/validate_cfg.cpp index 87975e1ef..c684a9918 100644 --- a/source/val/validate_cfg.cpp +++ b/source/val/validate_cfg.cpp @@ -1066,6 +1066,7 @@ spv_result_t CfgPass(ValidationState_t& _, const Instruction* inst) { case SpvOpTerminateInvocation: case SpvOpIgnoreIntersectionKHR: case SpvOpTerminateRayKHR: + case SpvOpEmitMeshTasksEXT: _.current_function().RegisterBlockEnd(std::vector<uint32_t>()); if (opcode == SpvOpKill) { _.current_function().RegisterExecutionModelLimitation( @@ -1087,6 +1088,11 @@ spv_result_t CfgPass(ValidationState_t& _, const Instruction* inst) { SpvExecutionModelAnyHitKHR, "OpTerminateRayKHR requires AnyHitKHR execution model"); } + if (opcode == SpvOpEmitMeshTasksEXT) { + _.current_function().RegisterExecutionModelLimitation( + SpvExecutionModelTaskEXT, + "OpEmitMeshTasksEXT requires TaskEXT execution model"); + } break; default: |