Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hrydgard
GitHub Repository: hrydgard/ppsspp
Path: blob/master/UI/GPUDriverTestScreen.h
5661 views
1
#pragma once
2
3
#include "Common/System/Display.h"
4
#include "Common/UI/Context.h"
5
#include "Common/UI/View.h"
6
#include "Common/UI/ViewGroup.h"
7
#include "Common/UI/TabHolder.h"
8
9
#include "Common/Log.h"
10
#include "UI/BaseScreens.h"
11
#include "Common/GPU/thin3d.h"
12
13
class GPUDriverTestScreen : public UIBaseDialogScreen {
14
public:
15
GPUDriverTestScreen();
16
~GPUDriverTestScreen();
17
18
void CreateViews() override;
19
void DrawForeground(UIContext &dc) override;
20
21
const char *tag() const override { return "GPUDriverTest"; }
22
23
private:
24
void DiscardTest(UIContext &dc);
25
void ShaderTest(UIContext &dc);
26
27
// Common objects
28
Draw::SamplerState *samplerNearest_ = nullptr;
29
30
// Discard/depth/stencil stuff
31
// ===========================
32
33
Draw::ShaderModule *discardFragShader_ = nullptr;
34
Draw::Pipeline *discardWriteDepthStencil_ = nullptr;
35
Draw::Pipeline *discardWriteDepth_ = nullptr;
36
Draw::Pipeline *discardWriteStencil_ = nullptr;
37
38
// Stencil test, with and without DepthAlways
39
Draw::Pipeline *drawTestStencilEqual_ = nullptr;
40
Draw::Pipeline *drawTestStencilNotEqual_ = nullptr;
41
Draw::Pipeline *drawTestStencilEqualDepthAlways_ = nullptr;
42
Draw::Pipeline *drawTestStencilNotEqualDepthAlways_ = nullptr;
43
44
// Depth tests with and without StencilAlways
45
Draw::Pipeline *drawTestStencilAlwaysDepthLessEqual_ = nullptr;
46
Draw::Pipeline *drawTestStencilAlwaysDepthGreater_ = nullptr;
47
Draw::Pipeline *drawTestDepthLessEqual_ = nullptr;
48
Draw::Pipeline *drawTestDepthGreater_ = nullptr;
49
50
51
// Shader tests
52
// ============
53
54
Draw::Pipeline *adrenoLogicDiscardPipeline_ = nullptr;
55
Draw::ShaderModule *adrenoLogicDiscardFragShader_ = nullptr;
56
Draw::ShaderModule *adrenoLogicDiscardVertShader_ = nullptr;
57
Draw::Pipeline *flatShadingPipeline_ = nullptr;
58
Draw::ShaderModule *flatFragShader_ = nullptr;
59
Draw::ShaderModule *flatVertShader_ = nullptr;
60
61
UI::TabHolder *tabHolder_ = nullptr;
62
};
63
64