I'm using the code to detect supported textures:
UInt usage=0; UINT fs; if(OK(D3D->CheckFormatSupport(ImageTI[i].format, &fs)))
{
if(fs&D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER )usage|=ImageTypeInfo::USAGE_VTX;
if(fs&D3D11_FORMAT_SUPPORT_TEXTURE2D )usage|=ImageTypeInfo::USAGE_IMAGE_2D;
if(fs&D3D11_FORMAT_SUPPORT_TEXTURE3D )usage|=ImageTypeInfo::USAGE_IMAGE_3D;
if(fs&D3D11_FORMAT_SUPPORT_TEXTURECUBE )usage|=ImageTypeInfo::USAGE_IMAGE_CUBE;
if(fs&D3D11_FORMAT_SUPPORT_RENDER_TARGET )usage|=ImageTypeInfo::USAGE_IMAGE_RT;
if(fs&D3D11_FORMAT_SUPPORT_DEPTH_STENCIL )usage|=ImageTypeInfo::USAGE_IMAGE_DS;
if(fs&D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET)usage|=ImageTypeInfo::USAGE_IMAGE_MS;
}
ImageTI[i]._usage=usage;
The problem is that DXGI_FORMAT_BC7_UNORM
, DXGI_FORMAT_BC7_UNORM_SRGB
and DXGI_FORMAT_BC6H_UF16
fail for D3D11_FORMAT_SUPPORT_TEXTURE2D, meaning can't create 2d textures with these formats.
And the calls to CreateTexture2D
also fail.
(all other formats I've tested work fine BC1 BC2 BC3 R8G8B8A8.. etc).
What's the problem? Xbox One doesn't support BC7/BC6 textures?
Edit: https://learn.microsoft.com/en-us/windows/uwp/xbox-apps/system-resource-allocation
Looks like UWP is limited to Feature Level 10 which does not support these texture formats. Does this apply to only Creators or also Managed Partners?