mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-13 16:08:50 +01:00
[d3d9] Fix rare hang when waiting for staging buffer markers
This commit is contained in:
parent
5cdee45387
commit
b5b74116fa
@ -4081,7 +4081,7 @@ namespace dxvk {
|
||||
if (!needsStall)
|
||||
break;
|
||||
|
||||
m_csThread.synchronize(payload.sequenceNumber);
|
||||
SynchronizeCsThread(payload.sequenceNumber);
|
||||
lastSequenceNumber = payload.sequenceNumber;
|
||||
}
|
||||
|
||||
@ -4829,7 +4829,8 @@ namespace dxvk {
|
||||
|
||||
// Dispatch current chunk so that all commands
|
||||
// recorded prior to this function will be run
|
||||
FlushCsChunk();
|
||||
if (SequenceNumber > m_csSeqNum)
|
||||
FlushCsChunk();
|
||||
|
||||
m_csThread.synchronize(SequenceNumber);
|
||||
}
|
||||
@ -5178,9 +5179,9 @@ namespace dxvk {
|
||||
m_initializer->Flush();
|
||||
m_converter->Flush();
|
||||
|
||||
EmitStagingBufferMarker();
|
||||
|
||||
if (m_csIsBusy || !m_csChunk->empty()) {
|
||||
EmitStagingBufferMarker();
|
||||
|
||||
// Add commands to flush the threaded
|
||||
// context, then flush the command list
|
||||
EmitCs([](DxvkContext* ctx) {
|
||||
|
Loading…
Reference in New Issue
Block a user