mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-12 13:08:50 +01:00
[d3d9] Re-bind framebuffer if RT hazards change
Otherwise we never set the feedback loop bits in the backend.
This commit is contained in:
parent
7ddfcfeb20
commit
3c2fc41e4c
@ -6054,9 +6054,11 @@ namespace dxvk {
|
|||||||
if (unlikely(m_activeHazardsRT != 0))
|
if (unlikely(m_activeHazardsRT != 0))
|
||||||
MarkRenderHazards();
|
MarkRenderHazards();
|
||||||
|
|
||||||
if (unlikely((m_lastHazardsDS == 0) != (m_activeHazardsDS == 0))) {
|
if (unlikely((!m_lastHazardsDS) != (!m_activeHazardsDS))
|
||||||
|
|| unlikely((!m_lastHazardsRT) != (!m_activeHazardsRT))) {
|
||||||
m_flags.set(D3D9DeviceFlag::DirtyFramebuffer);
|
m_flags.set(D3D9DeviceFlag::DirtyFramebuffer);
|
||||||
m_lastHazardsDS = m_activeHazardsDS;
|
m_lastHazardsDS = m_activeHazardsDS;
|
||||||
|
m_lastHazardsRT = m_activeHazardsRT;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (uint32_t i = 0; i < caps::MaxStreams; i++) {
|
for (uint32_t i = 0; i < caps::MaxStreams; i++) {
|
||||||
|
@ -1261,6 +1261,7 @@ namespace dxvk {
|
|||||||
uint32_t m_fetch4 = 0;
|
uint32_t m_fetch4 = 0;
|
||||||
|
|
||||||
uint32_t m_lastHazardsDS = 0;
|
uint32_t m_lastHazardsDS = 0;
|
||||||
|
uint32_t m_lastHazardsRT = 0;
|
||||||
uint32_t m_lastSamplerTypesFF = 0;
|
uint32_t m_lastSamplerTypesFF = 0;
|
||||||
|
|
||||||
D3D9SpecializationInfo m_specInfo = D3D9SpecializationInfo();
|
D3D9SpecializationInfo m_specInfo = D3D9SpecializationInfo();
|
||||||
|
Loading…
Reference in New Issue
Block a user