mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
Reformat all the things. Have fun with merge conflicts.
This commit is contained in:
@ -9,61 +9,51 @@
|
||||
|
||||
enum PerfQueryType
|
||||
{
|
||||
PQ_ZCOMP_INPUT_ZCOMPLOC = 0,
|
||||
PQ_ZCOMP_OUTPUT_ZCOMPLOC,
|
||||
PQ_ZCOMP_INPUT,
|
||||
PQ_ZCOMP_OUTPUT,
|
||||
PQ_BLEND_INPUT,
|
||||
PQ_EFB_COPY_CLOCKS,
|
||||
PQ_NUM_MEMBERS
|
||||
PQ_ZCOMP_INPUT_ZCOMPLOC = 0,
|
||||
PQ_ZCOMP_OUTPUT_ZCOMPLOC,
|
||||
PQ_ZCOMP_INPUT,
|
||||
PQ_ZCOMP_OUTPUT,
|
||||
PQ_BLEND_INPUT,
|
||||
PQ_EFB_COPY_CLOCKS,
|
||||
PQ_NUM_MEMBERS
|
||||
};
|
||||
|
||||
enum PerfQueryGroup
|
||||
{
|
||||
PQG_ZCOMP_ZCOMPLOC,
|
||||
PQG_ZCOMP,
|
||||
PQG_EFB_COPY_CLOCKS,
|
||||
PQG_NUM_MEMBERS,
|
||||
PQG_ZCOMP_ZCOMPLOC,
|
||||
PQG_ZCOMP,
|
||||
PQG_EFB_COPY_CLOCKS,
|
||||
PQG_NUM_MEMBERS,
|
||||
};
|
||||
|
||||
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
|
||||
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; }
|
||||
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
|
||||
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; }
|
||||
protected:
|
||||
// TODO: sloppy
|
||||
volatile u32 m_query_count;
|
||||
volatile u32 m_results[PQG_NUM_MEMBERS];
|
||||
// TODO: sloppy
|
||||
volatile u32 m_query_count;
|
||||
volatile u32 m_results[PQG_NUM_MEMBERS];
|
||||
};
|
||||
|
||||
extern std::unique_ptr<PerfQueryBase> g_perf_query;
|
||||
|
Reference in New Issue
Block a user