Open tristanlabelle opened 5 years ago
The issue probably has to do with the fact that DXIL supports arrays but not structures, so struct { int; float; } [42]
kind of has to be lowered to int[42]; float[42]
, but that changes the in-memory layout and potentially the ordering of the semantics.
Repro:
It looks like this was never implemented. It will currently hit this assert:
DXASSERT(0, "Not support array of struct when split pointers.");
(from::SplitPtr
, in fileD:\DirectXShaderCompiler\lib\Transforms\Scalar\ScalarReplAggregatesHLSL.cpp
)