CreateTexture2D() завершается ошибкой при использовании DXGI_FORMAT_YUY2 в качестве формата

Когда D3D10_TEXTURE2D_DESC содержит следующее:

textureDesc.Width               = 1920 * 2;
textureDesc.Height              = 1080 * 2;
textureDesc.MipLevels           = 1;
textureDesc.ArraySize           = 1;
textureDesc.Format              = DXGI_FORMAT_YUY2;
textureDesc.SampleDesc.Count    = 1;
textureDesc.SampleDesc.Quality  = 0;
textureDesc.Usage               = D3D10_USAGE_DYNAMIC;
textureDesc.BindFlags           = D3D10_BIND_SHADER_RESOURCE;
textureDesc.CPUAccessFlags      = D3D10_CPU_ACCESS_WRITE;
textureDesc.MiscFlags           = 0;

ID3D10Device::CreateTexture2D() завершается ошибкой.
Но если я изменю формат на DXGI_FORMAT_R8G8B8A8_UNORM, ID3D10Device::CreateTexture2D() завершается успешно. Может кто-нибудь объяснить, почему?

1 ответ

Решение

Я знаю, что DirectX может выводить комментарии об ошибках в stderr или stdout, если вы установите флаг D3D10_CREATE_DEVICE_DEBUG. Похоже, это поможет вам найти причину неудачи.

Другие вопросы по тегам