LeviLamina
Loading...
Searching...
No Matches
HudDebugOverlayRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/options/DebugHudOptions.h"
7#include "mc/deps/core/threading/BackgroundWorker.h"
8#include "mc/deps/minecraft_renderer/renderer/MaterialPtr.h"
9
10// auto generated forward declare list
11// clang-format off
12class IClientInstance;
13class ScreenContext;
14// clang-format on
15
17public:
18 // HudDebugOverlayRenderer inner types declare
19 // clang-format off
21 struct WorkerStats;
22 struct TaskStatsSnapshot;
23 struct TaskStats;
24 struct SpinLockMetrics;
25 struct SpinLockStats;
26 // clang-format on
27
28 // HudDebugOverlayRenderer inner types define
29 struct WorkerStatsSnapshot {
30 public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 8, uint64> queued;
34 ::ll::TypedStorage<8, 8, uint64> reQueued;
35 ::ll::TypedStorage<8, 8, uint64> processed;
36 ::ll::TypedStorage<8, 8, uint64> noops;
37 ::ll::TypedStorage<8, 8, uint64> maxQueued;
38 ::ll::TypedStorage<8, 8, uint64> sorts;
39 ::ll::TypedStorage<8, 8, uint64> waits;
40 // NOLINTEND
41 };
42
43 struct WorkerStats {
44 public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<8, 56, ::HudDebugOverlayRenderer::WorkerStatsSnapshot> last;
48 ::ll::TypedStorage<8, 56, ::HudDebugOverlayRenderer::WorkerStatsSnapshot> curr;
49 // NOLINTEND
50 };
51
52 struct TaskStatsSnapshot {
53 public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<8, 8, uint64> count;
57 ::ll::TypedStorage<8, 8, uint64> maxCount;
58 // NOLINTEND
59 };
60
61 struct TaskStats {
62 public:
63 // member variables
64 // NOLINTBEGIN
65 ::ll::TypedStorage<8, 16, ::HudDebugOverlayRenderer::TaskStatsSnapshot> last;
66 ::ll::TypedStorage<8, 16, ::HudDebugOverlayRenderer::TaskStatsSnapshot> curr;
67 // NOLINTEND
68 };
69
70 struct SpinLockMetrics {
71 public:
72 // member variables
73 // NOLINTBEGIN
74 ::ll::TypedStorage<8, 8, uint64> contention;
75 ::ll::TypedStorage<8, 8, uint64> contentionBlocked;
76 ::ll::TypedStorage<8, 8, uint64> blockedTicks;
77 ::ll::TypedStorage<8, 8, uint64> blockedTicksMax;
78 ::ll::TypedStorage<8, 8, uint64> yields;
79 ::ll::TypedStorage<8, 8, uint64> lockCount;
80 ::ll::TypedStorage<8, 8, uint64> lockTicks;
81 ::ll::TypedStorage<8, 8, uint64> lockTicksMax;
82 // NOLINTEND
83 };
84
85 struct SpinLockStats {
86 public:
87 // member variables
88 // NOLINTBEGIN
89 ::ll::TypedStorage<8, 64, ::HudDebugOverlayRenderer::SpinLockMetrics> last;
90 ::ll::TypedStorage<8, 64, ::HudDebugOverlayRenderer::SpinLockMetrics> curr;
91 // NOLINTEND
92 };
93
94public:
95 // member variables
96 // NOLINTBEGIN
97 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mDebugDepthArrayTextureMaterial;
98 ::ll::TypedStorage<8, 64, ::std::unordered_map<::BackgroundWorker*, ::HudDebugOverlayRenderer::WorkerStats>>
99 mWorkerStats;
100 ::ll::TypedStorage<8, 64, ::std::unordered_map<::BackgroundWorker*, ::HudDebugOverlayRenderer::WorkerStats>>
101 mCurrentWorkerStats;
102 ::ll::TypedStorage<8, 32, ::HudDebugOverlayRenderer::TaskStats> mTaskStats;
103 ::ll::TypedStorage<8, 128, ::HudDebugOverlayRenderer::SpinLockStats> mSpinLockStats;
104 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastUpdateTime;
105 ::ll::TypedStorage<4, 8, ::std::optional<::DebugHudOptions>> mLastDebugHudOption;
106 ::ll::TypedStorage<8, 16, ::std::optional<::std::chrono::steady_clock::time_point>> mDebugHudOptionEndTime;
107 // NOLINTEND
108
109public:
110 // member functions
111 // NOLINTBEGIN
112 MCAPI HudDebugOverlayRenderer();
113
114 MCFOLD void render(::ScreenContext& screenContext, ::IClientInstance& client);
115
116 MCAPI ~HudDebugOverlayRenderer();
117 // NOLINTEND
118
119public:
120 // constructor thunks
121 // NOLINTBEGIN
122 MCAPI void* $ctor();
123 // NOLINTEND
124
125public:
126 // destructor thunk
127 // NOLINTBEGIN
128 MCAPI void $dtor();
129 // NOLINTEND
130};
Definition HudDebugOverlayRenderer.h:5
Definition IClientInstance.h:5
Definition ScreenContext.h:5
Definition HudDebugOverlayRenderer.h:22
Definition HudDebugOverlayRenderer.h:28
Definition HudDebugOverlayRenderer.h:20
Definition HudDebugOverlayRenderer.h:26
Definition HudDebugOverlayRenderer.h:18
Definition HudDebugOverlayRenderer.h:24