LeviLamina
Loading...
Searching...
No Matches
FrameDebugData.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5namespace OreUI {
6
7struct FrameDebugData {
8public:
9 // FrameDebugData inner types declare
10 // clang-format off
11 struct DrawcallDebugData;
13 // clang-format on
14
15 // FrameDebugData inner types define
16 enum class FlushTrigger : int {
17 RenderTargetChange = 0,
18 ViewportChange = 1,
19 PipelineStateChange = 2,
20 EndOfFrame = 3,
21 };
22
23 struct DrawcallDebugData {
24 public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<4, 4, int> mLogicalShader;
28 ::ll::TypedStorage<4, 4, int> mShaderType;
29 // NOLINTEND
30 };
31
32 struct SubmissionDebugData {
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<4, 4, int> mDrawCount;
37 ::ll::TypedStorage<4, 4, ::OreUI::FrameDebugData::FlushTrigger> mTrigger;
38 // NOLINTEND
39 };
40
41public:
42 // member variables
43 // NOLINTBEGIN
44 ::ll::TypedStorage<4, 4, int> mDrawCount;
45 ::ll::TypedStorage<4, 4, int> mMaxDraws;
46 ::ll::TypedStorage<1, 1, bool> mDebugDraws;
47 ::ll::TypedStorage<1, 1, bool> mLimitDraws;
48 ::ll::TypedStorage<8, 24, ::std::vector<::OreUI::FrameDebugData::DrawcallDebugData>> mDrawcallDebugData;
49 ::ll::TypedStorage<4, 4, int> mRenderTargetSwitches;
50 ::ll::TypedStorage<4, 4, int> mViewportChanges;
51 ::ll::TypedStorage<4, 4, int> mPipelineStateChanges;
52 ::ll::TypedStorage<4, 4, int> mFlushCalls;
53 ::ll::TypedStorage<4, 4, int> mSubmittedBatches;
54 ::ll::TypedStorage<8, 24, ::std::vector<::OreUI::FrameDebugData::SubmissionDebugData>> mSubmissionDebugData;
55 // NOLINTEND
56};
57
58} // namespace OreUI
Definition FrameDebugData.h:18
Definition FrameDebugData.h:20
Definition FrameDebugData.h:7