mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-13 16:08:50 +01:00
[d3d11] Increment sequence number when submitting command lists
This does not do any tracking on deferred contexts just yet.
This commit is contained in:
parent
d33dac569c
commit
2eeb7295c8
@ -62,14 +62,17 @@ namespace dxvk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void D3D11CommandList::EmitToCsThread(DxvkCsThread* CsThread) {
|
uint64_t D3D11CommandList::EmitToCsThread(DxvkCsThread* CsThread) {
|
||||||
|
uint64_t seq = 0;
|
||||||
|
|
||||||
for (const auto& query : m_queries)
|
for (const auto& query : m_queries)
|
||||||
query->DoDeferredEnd();
|
query->DoDeferredEnd();
|
||||||
|
|
||||||
for (const auto& chunk : m_chunks)
|
for (const auto& chunk : m_chunks)
|
||||||
CsThread->dispatchChunk(DxvkCsChunkRef(chunk));
|
seq = CsThread->dispatchChunk(DxvkCsChunkRef(chunk));
|
||||||
|
|
||||||
MarkSubmitted();
|
MarkSubmitted();
|
||||||
|
return seq;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ namespace dxvk {
|
|||||||
void EmitToCommandList(
|
void EmitToCommandList(
|
||||||
ID3D11CommandList* pCommandList);
|
ID3D11CommandList* pCommandList);
|
||||||
|
|
||||||
void EmitToCsThread(
|
uint64_t EmitToCsThread(
|
||||||
DxvkCsThread* CsThread);
|
DxvkCsThread* CsThread);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -212,7 +212,8 @@ namespace dxvk {
|
|||||||
|
|
||||||
// Dispatch command list to the CS thread and
|
// Dispatch command list to the CS thread and
|
||||||
// restore the immediate context's state
|
// restore the immediate context's state
|
||||||
commandList->EmitToCsThread(&m_csThread);
|
uint64_t csSeqNum = commandList->EmitToCsThread(&m_csThread);
|
||||||
|
m_csSeqNum = std::max(m_csSeqNum, csSeqNum);
|
||||||
|
|
||||||
if (RestoreContextState)
|
if (RestoreContextState)
|
||||||
RestoreState();
|
RestoreState();
|
||||||
|
Loading…
Reference in New Issue
Block a user