mirror of
https://github.com/EduApps-CDG/OpenDX
synced 2024-12-30 09:45:37 +01:00
[dxvk] Fix missing indirect dispatch barriers and tracking
This commit is contained in:
parent
417b6cb6dc
commit
af16461858
@ -884,7 +884,7 @@ namespace dxvk {
|
|||||||
|
|
||||||
auto physicalSlice = buffer.physicalSlice();
|
auto physicalSlice = buffer.physicalSlice();
|
||||||
|
|
||||||
if (m_barriers.isBufferDirty(buffer.physicalSlice(), DxvkAccess::Read))
|
if (m_barriers.isBufferDirty(physicalSlice, DxvkAccess::Read))
|
||||||
m_barriers.recordCommands(m_cmd);
|
m_barriers.recordCommands(m_cmd);
|
||||||
|
|
||||||
if (this->validateComputeState()) {
|
if (this->validateComputeState()) {
|
||||||
@ -897,10 +897,19 @@ namespace dxvk {
|
|||||||
physicalSlice.handle(),
|
physicalSlice.handle(),
|
||||||
physicalSlice.offset());
|
physicalSlice.offset());
|
||||||
|
|
||||||
|
m_cmd->trackResource(
|
||||||
|
physicalSlice.resource());
|
||||||
|
|
||||||
m_queries.endQueries(m_cmd,
|
m_queries.endQueries(m_cmd,
|
||||||
VK_QUERY_TYPE_PIPELINE_STATISTICS);
|
VK_QUERY_TYPE_PIPELINE_STATISTICS);
|
||||||
|
|
||||||
this->commitComputePostBarriers();
|
this->commitComputePostBarriers();
|
||||||
|
|
||||||
|
m_barriers.accessBuffer(physicalSlice,
|
||||||
|
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
|
||||||
|
VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
|
||||||
|
buffer.bufferInfo().stages,
|
||||||
|
buffer.bufferInfo().access);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_cmd->addStatCtr(DxvkStatCounter::CmdDispatchCalls, 1);
|
m_cmd->addStatCtr(DxvkStatCounter::CmdDispatchCalls, 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user