DX12 Initialization Fail VS2019

2

I have done the init steps in DX10/11/12 many times before, all of a sudden in VS2019 DX12 will not create anything besides the following objects: ID3D12Debug, ID3D12InfoQueue, ID3D12Device2.

Even a straight creation of command queue fails:

    bool DX12ObjectFactory::CreateCommandQueue(ID3D12Device* pDevice, __out 
    ID3D12CommandQueue** ppCmdQueue, const D3D12_COMMAND_QUEUE_DESC& queueCreateDesc)
    {
        OnFailedThrow(pDevice->CreateCommandQueue(&queueCreateDesc, 
        IID_PPV_ARGS(&*ppCmdQueue)));
        return true;
    }

HRESULT message is:

hr = 0x00000108 : An open/create operation completed while an oplock break is underway.

Error code lookup points to: ERROR_TOO_MANY_POSTS 298 (0x12A)

Weird thing is that things were working a few days ago, maybe a Windows update broke it...

Thanks

c++
windows-10
directx
directx-12
asked on Stack Overflow Mar 17, 2020 by Sixjac • edited Mar 17, 2020 by Acorn

1 Answer

1

D3D12_COMMAND_QUEUE_DESC was initialized properly, issues seemed to be use of IID_PPV_ARGS, as it was fine with the old way of using IID_ID3D12CommandQueue, (void**)&(*ppCmdQueue).

Also my swapchain issue I forgot to initialize buffer count with a value >= 2.

answered on Stack Overflow Mar 17, 2020 by Sixjac • edited Mar 17, 2020 by Acorn

User contributions licensed under CC BY-SA 3.0