2018-12-16 20:48:35 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <algorithm>
|
|
|
|
|
|
|
|
#include "base/display.h"
|
|
|
|
#include "ui/ui_context.h"
|
|
|
|
#include "ui/view.h"
|
|
|
|
#include "ui/viewgroup.h"
|
|
|
|
#include "ui/ui.h"
|
|
|
|
|
|
|
|
#include "Common/LogManager.h"
|
|
|
|
#include "UI/MiscScreens.h"
|
|
|
|
#include "thin3d/thin3d.h"
|
|
|
|
|
|
|
|
class GPUDriverTestScreen : public UIDialogScreenWithBackground {
|
|
|
|
public:
|
|
|
|
GPUDriverTestScreen();
|
|
|
|
~GPUDriverTestScreen();
|
|
|
|
|
|
|
|
void CreateViews() override;
|
|
|
|
void render() override;
|
|
|
|
|
|
|
|
private:
|
2018-12-18 22:56:36 +00:00
|
|
|
void DiscardTest();
|
|
|
|
|
2018-12-16 20:48:35 +00:00
|
|
|
Draw::ShaderModule *discard_ = 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
|
|
|
|
2018-12-16 20:48:35 +00:00
|
|
|
Draw::SamplerState *samplerNearest_ = nullptr;
|
2018-12-18 22:56:36 +00:00
|
|
|
UI::TabHolder *tabHolder_ = nullptr;
|
2018-12-16 20:48:35 +00:00
|
|
|
};
|