CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
hrydgard

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: hrydgard/ppsspp
Path: blob/master/Common/GPU/MiscTypes.h
Views: 1401
1
#pragma once
2
3
#include "Common/Common.h"
4
5
// Flags and structs shared between backends that haven't found a good home.
6
7
enum class InvalidationFlags {
8
CACHED_RENDER_STATE = 1,
9
};
10
ENUM_CLASS_BITOPS(InvalidationFlags);
11
12
enum class InvalidationCallbackFlags {
13
RENDER_PASS_STATE = 1,
14
COMMAND_BUFFER_STATE = 2,
15
};
16
ENUM_CLASS_BITOPS(InvalidationCallbackFlags);
17
18
typedef std::function<void(InvalidationCallbackFlags)> InvalidationCallback;
19
20
// These are separate from FrameData because we store some history of these.
21
// Also, this might be joined with more non-GPU timing information later.
22
struct FrameTimeData {
23
uint64_t frameId;
24
25
int waitCount;
26
27
double frameBegin;
28
double afterFenceWait;
29
double firstSubmit;
30
double queuePresent;
31
32
double actualPresent;
33
double desiredPresentTime;
34
double earliestPresentTime;
35
double presentMargin;
36
};
37
constexpr size_t FRAME_TIME_HISTORY_LENGTH = 32;
38
39