1

このようにスワップチェーンを作成しています

ComPtr<IDXGIFactory4> factory;
CreateDXGIFactory1(__uuidof(IDXGIFactory4), (void**)&factory);

DXGI_SWAP_CHAIN_DESC scd;
ZeroMemory(&scd, sizeof(DXGI_SWAP_CHAIN_DESC));
scd.BufferCount = 2;
scd.BufferDesc.Width = mWidth;
scd.BufferDesc.Height = mHeight;
scd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
scd.OutputWindow = mHwnd;
scd.Windowed = true;
scd.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;
scd.SampleDesc.Count = 1;
scd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;

ComPtr<IDXGISwapChain> swapchain;
factory->CreateSwapChain(mQueue.Get(), &scd, &swapchain);

デバッグ モードでは問題なく動作しますが、リリース (x86 または x64) では、CreateSwapChain は を返しますDXGI_ERROR_INVALID_CALL

なぜこれがデバッグモードでは機能するのにリリースモードでは機能しないのか、誰かに説明してもらえますか?

ありがとう!

注: Direct3D 12 を使用しています

4

1 に答える 1

1

解決策を見つけました!わーい :)

DX12 ライブラリをリンクするのを忘れていました....

于 2015-09-11T12:58:12.760 に答える