A warning:

D3D11 WARNING: Live ID3D11InputLayout at 0x0000000003FE3A20, Refcount: 0, IntRef: 0 [STATE_CREATION WARNING # 433: LIVE_INPUTLAYOUT]

I have one copy of the layout in a static variable, at the time of the warning it has a release and it is equal to nullptr . I also have this when creating the layout :

 zGlobalVariables::Context->IASetInputLayout(InputLayout); zGlobalVariables::Layout = InputLayout; InputLayout = nullptr; 

release do not call release , because I will call him in the situation described above. From the warning it follows that:

  1. The number of links is zero - no one refers to it (this is so clear).
  2. Internal reference counter is zero.

That is, nowhere no one refers to the layout , the debugging layer confirms this, but says that the object is alive - how is it? It is necessary to remove all references to one object (back buffer), to change its size, I have about a dozen such warnings, and everywhere the number of references is 0. Like this:

 ID3D11Debug *DebugDevice = nullptr; HRESULT hr = Device->QueryInterface(__uuidof(ID3D11Debug), reinterpret_cast<void **>(&DebugDevice)); hr = DebugDevice->ReportLiveDeviceObjects(D3D11_RLDO_DETAIL); DebugDevice->Release(); 

?

    1 answer 1

    This warning, in the case of a zero number of links, means that the resource has been correctly deleted. The debugging method will issue it anyway (I just doubted). I finished removing the Direct3D hardware textures. I deleted everything I had, and the ResizeBuffers method returned S_OK. Now I will return everything to find out what was not necessary to delete.