[d3d11] Fixed severe reference-counting issue in state objects

This commit is contained in:
Philip Rebohle 2017-12-10 00:55:30 +01:00
parent 3d6e88428a
commit 9a86178604
4 changed files with 6 additions and 6 deletions

View File

@ -50,7 +50,7 @@ namespace dxvk {
Com<T> result = new T(device, desc);
m_objects.insert({ desc, result });
return result.ptr();
return result.ref();
}
private:

View File

@ -78,7 +78,7 @@ namespace dxvk {
void D3D11RasterizerState::GetDevice(ID3D11Device** ppDevice) {
*ppDevice = m_device.ref();
*ppDevice = m_device;
}

View File

@ -35,9 +35,9 @@ namespace dxvk {
private:
Com<D3D11Device> m_device;
D3D11_RASTERIZER_DESC m_desc;
DxvkRasterizerState m_state;
D3D11Device* const m_device;
D3D11_RASTERIZER_DESC m_desc;
DxvkRasterizerState m_state;
};

View File

@ -12,7 +12,7 @@
return S_OK; \
} \
} while (0)
#include <iostream>
namespace dxvk {
template<typename... Base>