0

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?

Greg
  • 1
  • 1
  • Could you please tell me if you are using C++/CX project? – YanGu Dec 11 '20 at 09:04
  • Yes this is C++ UWP DirectX 11. We are Managed Partners in the ID@Xbox program, but the Feature Level is still limited to 10.0. Does it mean we need DirectX 12? – Greg Dec 11 '20 at 15:18

0 Answers0