The list of formats supported for the UAV path was assuming D3D12_FEATURE_DATA_D3D12_OPTIONS.TypedUAVLoadAdditionalFormats was always set. This change makes sure that is validated.
Also allows optional device support for other UAV formats to cover almost all the same formats that DX11 could support for autogen mips.
Had to make IsSupportedForGenerateMips a non-static method, which required some code refactoring for the texture loaders.
The list of formats supported for the UAV path was assuming
D3D12_FEATURE_DATA_D3D12_OPTIONS.TypedUAVLoadAdditionalFormats
was always set. This change makes sure that is validated.Also allows optional device support for other UAV formats to cover almost all the same formats that DX11 could support for autogen mips.