From f96a3fea6704da866e96e453f722a951c214ba28 Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 18 Mar 2024 16:41:40 -0700 Subject: Fix SPIRV for mesh shaders, checks for invalid target code&recursion. (#3788) * Fix #3780. * Fixers #3781. * Add test for #3781. * Diagnose error on unsupported builtin intrinsic types. * Add check for recursion. * Fix. * Fix. * Fix recursion detection. * Fix. * Fix. * Fix recursion logic. * More fix. --- source/slang/slang-emit-spirv.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/slang/slang-emit-spirv.cpp') diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp index afb1b3a63..6ecffecd1 100644 --- a/source/slang/slang-emit-spirv.cpp +++ b/source/slang/slang-emit-spirv.cpp @@ -3060,6 +3060,12 @@ struct SPIRVEmitContext case Stage::Callable: requireSPIRVCapability(SpvCapabilityRayTracingKHR); ensureExtensionDeclaration(UnownedStringSlice("SPV_KHR_ray_tracing")); + break; + case Stage::Mesh: + case Stage::Amplification: + requireSPIRVCapability(SpvCapabilityMeshShadingEXT); + ensureExtensionDeclaration(UnownedStringSlice("SPV_EXT_mesh_shader")); + break; default: break; } -- cgit v1.2.3