From 393185196ed65a9eeaf9502edbf3dcce87337d81 Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 22 Aug 2022 09:43:05 -0700 Subject: Support compile-time constant int val in the form of polynomials. (#2372) Co-authored-by: Yong He --- source/slang/slang-type-layout.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source/slang/slang-type-layout.cpp') diff --git a/source/slang/slang-type-layout.cpp b/source/slang/slang-type-layout.cpp index 22af19271..73ccd4726 100644 --- a/source/slang/slang-type-layout.cpp +++ b/source/slang/slang-type-layout.cpp @@ -1479,6 +1479,18 @@ static LayoutSize GetElementCount(IntVal* val) // return 0; } + else if (auto polyIntVal = as(val)) + { + // TODO: We want to treat the case where the number of + // elements in an array depends on a generic parameter + // much like the case where the number of elements is + // unbounded, *but* we can't just blindly do that because + // an API might disallow unbounded arrays in various + // cases where a generic bound might work (because + // any concrete specialization will have a finite bound...) + // + return 0; + } SLANG_UNEXPECTED("unhandled integer literal kind"); UNREACHABLE_RETURN(LayoutSize(0)); } -- cgit v1.2.3