mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-01 10:54:14 +01:00
Revert "[dxgi] Create persistent DxgiOutput object"
This reverts commit ad7f0971cf5ba5ed6dc3ace88badc9fcc9ba7504. Causes crashes in Overwatch due to weird refcount behaviour.
This commit is contained in:
parent
3c6eb91c63
commit
c9c3bc12cc
src/dxgi
@ -16,7 +16,6 @@ namespace dxvk {
|
|||||||
const Rc<DxvkAdapter>& adapter)
|
const Rc<DxvkAdapter>& adapter)
|
||||||
: m_factory (factory),
|
: m_factory (factory),
|
||||||
m_adapter (adapter) {
|
m_adapter (adapter) {
|
||||||
SetupOutputs();
|
|
||||||
SetupFormatTable();
|
SetupFormatTable();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,10 +64,14 @@ namespace dxvk {
|
|||||||
if (ppOutput == nullptr)
|
if (ppOutput == nullptr)
|
||||||
return DXGI_ERROR_INVALID_CALL;
|
return DXGI_ERROR_INVALID_CALL;
|
||||||
|
|
||||||
if (Output > 0)
|
if (Output > 0) {
|
||||||
|
*ppOutput = nullptr;
|
||||||
return DXGI_ERROR_NOT_FOUND;
|
return DXGI_ERROR_NOT_FOUND;
|
||||||
|
}
|
||||||
|
|
||||||
*ppOutput = m_output.ref();
|
// TODO support multiple monitors
|
||||||
|
HMONITOR monitor = ::MonitorFromPoint({ 0, 0 }, MONITOR_DEFAULTTOPRIMARY);
|
||||||
|
*ppOutput = ref(new DxgiOutput(this, monitor));
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -274,13 +277,6 @@ namespace dxvk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DxgiAdapter::SetupOutputs() {
|
|
||||||
// TODO support multiple monitors
|
|
||||||
HMONITOR monitor = ::MonitorFromPoint({ 0, 0 }, MONITOR_DEFAULTTOPRIMARY);
|
|
||||||
m_output = new DxgiOutput(this, monitor);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void DxgiAdapter::SetupFormatTable() {
|
void DxgiAdapter::SetupFormatTable() {
|
||||||
/***********************************************************************************/
|
/***********************************************************************************/
|
||||||
/* C O L O R F O R M A T S */
|
/* C O L O R F O R M A T S */
|
||||||
|
@ -66,7 +66,6 @@ namespace dxvk {
|
|||||||
using FormatMap = std::unordered_map<DXGI_FORMAT, DxgiFormatInfo>;
|
using FormatMap = std::unordered_map<DXGI_FORMAT, DxgiFormatInfo>;
|
||||||
|
|
||||||
Com<DxgiFactory> m_factory;
|
Com<DxgiFactory> m_factory;
|
||||||
Com<DxgiOutput> m_output;
|
|
||||||
Rc<DxvkAdapter> m_adapter;
|
Rc<DxvkAdapter> m_adapter;
|
||||||
|
|
||||||
FormatMap m_colorFormats;
|
FormatMap m_colorFormats;
|
||||||
@ -92,8 +91,6 @@ namespace dxvk {
|
|||||||
VkFormat dstFormat,
|
VkFormat dstFormat,
|
||||||
VkImageAspectFlags srvAspect);
|
VkImageAspectFlags srvAspect);
|
||||||
|
|
||||||
void SetupOutputs();
|
|
||||||
|
|
||||||
void SetupFormatTable();
|
void SetupFormatTable();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user