You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Problems: * RDG Hlsl breaks when processing an empty tensor in `FModelInstance::Init()` where `AllSymbolicTensorDescs` map is accessed at the empty tensor's index.. The bug comes from not treating empty tensors as first class citizens in NNE format. * NNEQA Json description of tests doesn't allow to specify empty tensors. * Hlsl OPs like Resize cannot be fully tested until empty tensors are correctly working. Solutions: * Due to the unavailability of FNNEFormatTensorDesc in Hlsl OP classes or validate functions, one cannot check if Type (ENNEFormatTensorType) is Empty directly. Therefore from now on we characterize empty tensors in NNE format as having both ENNEFormatTensorType set to Empty and ENNETensorDataType to None, with ENNETensorDataType::None being reserved for empty tensors (it's also used as a temporary value by NNE model builder while constructing the graph). Hlsl OP classes and validate functions have a way to access the data type. The description of an empty tensor in NNE format is therefore settled to: non-empty name (autogenerated), None data type, Empty tensor type, Shape = [0]. * Fix RDG handling of empty tensors by treating them as first class citizens. * Enhance NNEQA Json format of a tensor with a way to specify empty tensors: "empty" type. * Refactor model builders (ONNX/NNE) to consider empty tensors as a special case. Also make the necessary changes to allow Json-testing of empty tensors. * Enable Hlsl Resize's Sizes tensor. Requires to have Scales tensor empty. Tests: * Test that empty tensors are working by new Resize tests soliciting the Sizes tensor. * Win64 Standalone tests: all * Win64 Editor tests: all #rnx #jira UE-215731 #rb florent.guinier #virtualized [CL 34153659 by giacomo serafini in ue5-main branch]