diff options
| author | Stenzek <stenzek@gmail.com> | 2019-04-01 20:49:24 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2019-04-01 20:49:24 +1000 |
| commit | f2d8c8d2a8cad108425e297d65a9b0902b3d0c9c (patch) | |
| tree | 3b97c3c349c7d63192f9a0ea5d54b075e3a498e1 /Source/Core/VideoCommon/PerfQueryBase.h | |
| parent | 92f1f553d13596ace349889a924d5bd8c40e845d (diff) | |
D3D12: Fix rare case where command list was executed with open queries
Diffstat (limited to 'Source/Core/VideoCommon/PerfQueryBase.h')
| -rw-r--r-- | Source/Core/VideoCommon/PerfQueryBase.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/PerfQueryBase.h b/Source/Core/VideoCommon/PerfQueryBase.h index 449b86cc1b..de99b215c9 100644 --- a/Source/Core/VideoCommon/PerfQueryBase.h +++ b/Source/Core/VideoCommon/PerfQueryBase.h @@ -31,22 +31,31 @@ class PerfQueryBase public: PerfQueryBase() : m_query_count(0) {} virtual ~PerfQueryBase() {} + // Checks if performance queries are enabled in the gameini configuration. // NOTE: Called from CPU+GPU thread static bool ShouldEmulate(); // Begin querying the specified value for the following host GPU commands + // The call to EnableQuery() should be placed immediately before the draw command, otherwise + // there is a risk of GPU resets if the query is left open and the buffer is submitted during + // resource binding (D3D12/Vulkan). virtual void EnableQuery(PerfQueryGroup type) {} + // Stop querying the specified value for the following host GPU commands virtual void DisableQuery(PerfQueryGroup type) {} + // Reset query counters to zero and drop any pending queries virtual void ResetQuery() {} + // Return the measured value for the specified query type // NOTE: Called from CPU thread virtual u32 GetQueryResult(PerfQueryType type) { return 0; } + // Request the value of any pending queries - causes a pipeline flush and thus should be used // carefully! virtual void FlushResults() {} + // True if there are no further pending query results // NOTE: Called from CPU thread virtual bool IsFlushed() const { return true; } |
