From dc991f7cb6b7f9f7271f4e557cfdd3e59804d1d3 Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 21 Oct 2021 16:27:40 -0700 Subject: Passing associated type arguments to existential parameters + packing for `bool`. (#1987) * Passing associated type arguments to existential parameters + packing for `bool`. * fix typo Co-authored-by: Yong He --- source/slang/slang-ir-any-value-marshalling.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source/slang/slang-ir-any-value-marshalling.cpp') diff --git a/source/slang/slang-ir-any-value-marshalling.cpp b/source/slang/slang-ir-any-value-marshalling.cpp index c7f40efc0..2c6dcb84c 100644 --- a/source/slang/slang-ir-any-value-marshalling.cpp +++ b/source/slang/slang-ir-any-value-marshalling.cpp @@ -147,6 +147,7 @@ namespace Slang case kIROp_UInt8Type: case kIROp_UInt16Type: case kIROp_HalfType: + case kIROp_BoolType: context->marshalBasicType(builder, dataType, concreteTypedVar); break; case kIROp_VectorType: @@ -234,6 +235,7 @@ namespace Slang { case kIROp_IntType: case kIROp_FloatType: + case kIROp_BoolType: { ensureOffsetAt4ByteBoundary(); if (fieldOffset < static_cast(anyValInfo->fieldKeys.getCount())) @@ -303,11 +305,11 @@ namespace Slang advanceOffset(2); break; } + case kIROp_Int8Type: + case kIROp_UInt8Type: case kIROp_UInt64Type: case kIROp_Int64Type: case kIROp_DoubleType: - case kIROp_Int8Type: - case kIROp_UInt8Type: SLANG_UNIMPLEMENTED_X("AnyValue type packing for non 32-bit elements"); break; default: @@ -397,6 +399,7 @@ namespace Slang { case kIROp_IntType: case kIROp_FloatType: + case kIROp_BoolType: { ensureOffsetAt4ByteBoundary(); if (fieldOffset < static_cast(anyValInfo->fieldKeys.getCount())) -- cgit v1.2.3