Incorrect output after GPU to GPU inference via VideoFrame and Gray8 models #10425
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue: The detensorization pipeline incorrectly interpreted Gray8 outputs as BGR8 outputs, and so detensorization was calling into incorrect shaders for conversion back from NCHW to NHWC.
Related Issues:
#10410 : [WinML] [C++/WinRT] Empty output after GPU to GPU inference via VideoFrame
Models which produce 1 channel (Gray8) format outputs fail to produce correct output when binding output VideoFrames that are D3D11 backed surfaces.
Fix: When the output tensor is marked as Gray8, honor the format (which calls the appropriate shader later on).