2018-12-16 20:48:35 +00:00
|
|
|
#pragma once
|
|
|
|
|
2020-10-04 08:10:55 +00:00
|
|
|
#include "Common/System/Display.h"
|
2020-10-04 18:48:47 +00:00
|
|
|
#include "Common/UI/Context.h"
|
|
|
|
#include "Common/UI/View.h"
|
|
|
|
#include "Common/UI/ViewGroup.h"
|
|
|
|
#include "Common/UI/UI.h"
|
2018-12-16 20:48:35 +00:00
|
|
|
|
|
|
|
#include "Common/LogManager.h"
|
|
|
|
#include "UI/MiscScreens.h"
|
2020-10-04 21:24:14 +00:00
|
|
|
#include "Common/GPU/thin3d.h"
|
2018-12-16 20:48:35 +00:00
|
|
|
|
|
|
|
class GPUDriverTestScreen : public UIDialogScreenWithBackground {
|
|
|
|
public:
|
|
|
|
GPUDriverTestScreen();
|
|
|
|
~GPUDriverTestScreen();
|
|
|
|
|
|
|
|
void CreateViews() override;
|
|
|
|
void render() override;
|
|
|
|
|
|
|
|
private:
|
2018-12-18 22:56:36 +00:00
|
|
|
void DiscardTest();
|
2021-01-17 00:08:48 +00:00
|
|
|
void ShaderTest();
|
|
|
|
|
|
|
|
// 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;
|
2018-12-20 10:00:15 +00:00
|
|
|
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;
|
2018-12-19 19:21:07 +00:00
|
|
|
Draw::Pipeline *drawTestStencilEqualDepthAlways_ = nullptr;
|
|
|
|
Draw::Pipeline *drawTestStencilNotEqualDepthAlways_ = nullptr;
|
2018-12-20 10:00:15 +00:00
|
|
|
|
|
|
|
// 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;
|
2018-12-20 10:00:15 +00:00
|
|
|
|
2021-01-17 00:08:48 +00:00
|
|
|
|
|
|
|
// Shader tests
|
|
|
|
// ============
|
|
|
|
|
|
|
|
Draw::Pipeline *adrenoLogicDiscardPipeline_ = nullptr;
|
|
|
|
Draw::ShaderModule *adrenoLogicDiscardFragShader_ = nullptr;
|
2021-01-17 17:02:13 +00:00
|
|
|
Draw::ShaderModule *adrenoLogicDiscardVertShader_ = nullptr;
|
2021-01-17 00:08:48 +00:00
|
|
|
Draw::Pipeline *flatShadingPipeline_ = nullptr;
|
|
|
|
Draw::ShaderModule *flatFragShader_ = nullptr;
|
|
|
|
Draw::ShaderModule *flatVertShader_ = nullptr;
|
|
|
|
|
2018-12-18 22:56:36 +00:00
|
|
|
UI::TabHolder *tabHolder_ = nullptr;
|
2018-12-16 20:48:35 +00:00
|
|
|
};
|