From 8326248542c2196b4a4ba80f068adb8a0edd6006 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Thu, 28 Sep 2023 02:46:03 +0800 Subject: WIP Mesh shaders for SPIR-V (#3226) * SPIR-V impl for SetMeshOutputCounts and DispatchMesh * Unsightly fix for legalization ordering differences between GLSL and SPIR-V * spelling * Start a new block after terminating one in the OpEmitMeshTasksExt SPIR-V asm block * Emit mesh shader decorations in SPIR-V * Mesh and task shader stages for spir-v * Output explicit gl builtins for spir-v * Be more hygenic when SOAizing mesh outputs * Do not create builtin paramter block for spirv mesh outputs * Pass mesh payloads around by ref * comment * less expected failure * remove unused * Add spirv op * Correct type query for default flat modifier --------- Co-authored-by: Yong He --- source/slang/slang-ir.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source/slang/slang-ir.cpp') diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index 5fa558e15..675667dbc 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -4288,6 +4288,20 @@ namespace Slang return globalVar; } + IRGlobalVar* IRBuilder::createGlobalVar( + IRType* valueType, + IRIntegerValue addressSpace) + { + auto ptrType = getPtrType(kIROp_PtrType, valueType, addressSpace); + IRGlobalVar* globalVar = createInst( + this, + kIROp_GlobalVar, + ptrType); + _maybeSetSourceLoc(globalVar); + addGlobalValue(this, globalVar); + return globalVar; + } + IRGlobalParam* IRBuilder::createGlobalParam( IRType* valueType) { -- cgit v1.2.3