From 5290c580632cfb56847b863a32dc020a21d1c93e Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 10 Jan 2025 10:57:04 -0800 Subject: Initial implementation of SP#015 `DescriptorHandle`. (#6028) * Initial implementation of `ResourcePtr`. * Update docs * Fix build error. * Add more discussion. * Update documentation. * Update TOC. * Fix. * Fix. * Add test case for custom `getResourceFromBindlessHandle`. * Add namehint to generated descriptor heap param. * Fix. * Fix. * format code * Rename to `DescriptorHandle`, and add `T.Handle` alias. * Fix compiler error. * Fix. * Fix build. * Renames. * Fix documentation. * Documentation fix. --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --- source/slang/slang-ir-layout.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'source/slang/slang-ir-layout.cpp') diff --git a/source/slang/slang-ir-layout.cpp b/source/slang/slang-ir-layout.cpp index 8180ea6aa..1332c8a25 100644 --- a/source/slang/slang-ir-layout.cpp +++ b/source/slang/slang-ir-layout.cpp @@ -355,6 +355,14 @@ static Result _calcSizeAndAlignment( case kIROp_DefaultBufferLayoutType: *outSizeAndAlignment = IRSizeAndAlignment(0, 4); return SLANG_OK; + case kIROp_DescriptorHandleType: + { + IRBuilder builder(type); + builder.setInsertBefore(type); + auto uintType = builder.getUIntType(); + auto uint2Type = builder.getVectorType(uintType, 2); + return getSizeAndAlignment(optionSet, rules, uint2Type, outSizeAndAlignment); + } case kIROp_AttributedType: { auto attributedType = cast(type); -- cgit v1.2.3