ppsspp/UI/GPUDriverTestScreen.h

62 lines
1.8 KiB
C
Raw Normal View History

#pragma once
2020-10-04 08:10:55 +00:00
#include "Common/System/Display.h"
#include "Common/UI/Context.h"
#include "Common/UI/View.h"
#include "Common/UI/ViewGroup.h"
#include "Common/Log.h"
#include "UI/MiscScreens.h"
#include "Common/GPU/thin3d.h"
class GPUDriverTestScreen : public UIDialogScreenWithBackground {
public:
GPUDriverTestScreen();
~GPUDriverTestScreen();
void CreateViews() override;
void DrawForeground(UIContext &dc) override;
const char *tag() const override { return "GPUDriverTest"; }
private:
void DiscardTest(UIContext &dc);
void ShaderTest(UIContext &dc);
// Common objects
Draw::SamplerState *samplerNearest_ = nullptr;
// Discard/depth/stencil stuff
// ===========================
2018-12-18 22:56:36 +00:00
2018-12-20 10:14:50 +00:00
Draw::ShaderModule *discardFragShader_ = nullptr;
2018-12-18 22:56:36 +00:00
Draw::Pipeline *discardWriteDepthStencil_ = nullptr;
Draw::Pipeline *discardWriteDepth_ = nullptr;
Draw::Pipeline *discardWriteStencil_ = nullptr;
// Stencil test, with and without DepthAlways
2018-12-18 22:56:36 +00:00
Draw::Pipeline *drawTestStencilEqual_ = nullptr;
Draw::Pipeline *drawTestStencilNotEqual_ = nullptr;
Draw::Pipeline *drawTestStencilEqualDepthAlways_ = nullptr;
Draw::Pipeline *drawTestStencilNotEqualDepthAlways_ = nullptr;
// Depth tests with and without StencilAlways
Draw::Pipeline *drawTestStencilAlwaysDepthLessEqual_ = nullptr;
Draw::Pipeline *drawTestStencilAlwaysDepthGreater_ = nullptr;
2018-12-18 22:56:36 +00:00
Draw::Pipeline *drawTestDepthLessEqual_ = nullptr;
Draw::Pipeline *drawTestDepthGreater_ = nullptr;
// Shader tests
// ============
Draw::Pipeline *adrenoLogicDiscardPipeline_ = nullptr;
Draw::ShaderModule *adrenoLogicDiscardFragShader_ = nullptr;
Draw::ShaderModule *adrenoLogicDiscardVertShader_ = nullptr;
Draw::Pipeline *flatShadingPipeline_ = nullptr;
Draw::ShaderModule *flatFragShader_ = nullptr;
Draw::ShaderModule *flatVertShader_ = nullptr;
2018-12-18 22:56:36 +00:00
UI::TabHolder *tabHolder_ = nullptr;
};