Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hrydgard
GitHub Repository: hrydgard/ppsspp
Path: blob/master/GPU/GPUDefinitions.h
3185 views
1
// Copyright (c) 2012- PPSSPP Project.
2
3
// This program is free software: you can redistribute it and/or modify
4
// it under the terms of the GNU General Public License as published by
5
// the Free Software Foundation, version 2.0 or later versions.
6
7
// This program is distributed in the hope that it will be useful,
8
// but WITHOUT ANY WARRANTY; without even the implied warranty of
9
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
// GNU General Public License 2.0 for more details.
11
12
// A copy of the GPL 2.0 should have been included with the program.
13
// If not, see http://www.gnu.org/licenses/
14
15
// Official git repository and contact information can be found at
16
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
17
18
#pragma once
19
20
// X11, sigh.
21
#ifdef None
22
#undef None
23
#endif
24
25
// NOTE: This seems a bit insane, but these are two very similar enums!
26
27
// These are return values from DrawSync(), and also sceGeDrawSync().
28
// So these are frozen and "official".
29
enum DisplayListDrawSyncStatus {
30
// The list has been completed
31
PSP_GE_LIST_COMPLETED = 0,
32
// The list is queued but not executed yet
33
PSP_GE_LIST_QUEUED = 1,
34
// The list is currently being executed
35
PSP_GE_LIST_DRAWING = 2,
36
// The list was stopped because it encountered stall address
37
PSP_GE_LIST_STALLING = 3,
38
// The list is paused because of a signal or sceGeBreak
39
PSP_GE_LIST_PAUSED = 4,
40
};
41
42
// These are states, stored on the lists! not sure if these are exposed, or if their values can be changed?
43
enum DisplayListState {
44
// No state assigned, the list is empty
45
PSP_GE_DL_STATE_NONE = 0,
46
// The list has been queued
47
PSP_GE_DL_STATE_QUEUED = 1,
48
// The list is being executed (or stalled?)
49
PSP_GE_DL_STATE_RUNNING = 2,
50
// The list was completed and will be removed
51
PSP_GE_DL_STATE_COMPLETED = 3,
52
// The list has been paused by a signal
53
PSP_GE_DL_STATE_PAUSED = 4,
54
};
55
56
enum GPUInvalidationType {
57
// Affects all memory. Not considered highly.
58
GPU_INVALIDATE_ALL,
59
// Indicates some memory may have changed.
60
GPU_INVALIDATE_HINT,
61
// Reliable invalidation (where any hashing, etc. is unneeded, it'll always invalidate.)
62
GPU_INVALIDATE_SAFE,
63
// Forced invalidation for when the texture hash may not catch changes.
64
GPU_INVALIDATE_FORCE,
65
};
66
67
enum class DLResult {
68
Done, // Or stall
69
Error,
70
DebugBreak, // used for stepping, breakpoints
71
};
72
73