diff --git a/src/video_core/amdgpu/pm4_cmds.h b/src/video_core/amdgpu/pm4_cmds.h index 57f78df8a..bb8c657fb 100644 --- a/src/video_core/amdgpu/pm4_cmds.h +++ b/src/video_core/amdgpu/pm4_cmds.h @@ -343,7 +343,7 @@ struct PM4CmdEventWriteEop { switch (int_sel.Value()) { case InterruptSelect::None: { - *Address() = GetGpuClock64(); + // No interrupt break; } case InterruptSelect::IrqOnly: @@ -659,6 +659,13 @@ struct PM4CmdReleaseMem { return data_lo | u64(data_hi) << 32; } + uint64_t GetGpuClock64() const { + auto now = std::chrono::high_resolution_clock::now(); + auto duration = now.time_since_epoch(); + auto ticks = std::chrono::duration_cast(duration).count(); + return static_cast(ticks); + } + void SignalFence(Platform::InterruptId irq_id) const { switch (data_sel.Value()) { case DataSelect::Data32Low: { @@ -670,7 +677,7 @@ struct PM4CmdReleaseMem { break; } case DataSelect::GpuClock64: { - // TODO + *Address() = GetGpuClock64(); break; } case DataSelect::PerfCounter: {