2015-05-19 18:17:33 +02:00
|
|
|
#pragma once
|
|
|
|
|
#if defined(DX12_SUPPORT)
|
|
|
|
|
#include "Emu/RSX/RSXFragmentProgram.h"
|
|
|
|
|
#include <sstream>
|
|
|
|
|
|
|
|
|
|
#include "../Common/FragmentProgramDecompiler.h"
|
|
|
|
|
|
|
|
|
|
class D3D12FragmentDecompiler : public FragmentProgramDecompiler
|
|
|
|
|
{
|
|
|
|
|
protected:
|
2015-05-19 18:38:59 +02:00
|
|
|
virtual std::string getFloatTypeName(size_t elementCount) override;
|
|
|
|
|
virtual std::string getFunction(enum class FUNCTION) override;
|
2015-05-19 19:43:16 +02:00
|
|
|
virtual std::string saturate(const std::string &code) override;
|
2015-05-19 20:21:37 +02:00
|
|
|
virtual std::string compareFunction(enum class COMPARE, const std::string &, const std::string &) override;
|
2015-05-19 18:38:59 +02:00
|
|
|
|
2015-05-19 18:17:33 +02:00
|
|
|
virtual void insertHeader(std::stringstream &OS) override;
|
|
|
|
|
virtual void insertIntputs(std::stringstream &OS) override;
|
|
|
|
|
virtual void insertOutputs(std::stringstream &OS) override;
|
|
|
|
|
virtual void insertConstants(std::stringstream &OS) override;
|
|
|
|
|
virtual void insertMainStart(std::stringstream &OS) override;
|
|
|
|
|
virtual void insertMainEnd(std::stringstream &OS) override;
|
|
|
|
|
public:
|
|
|
|
|
D3D12FragmentDecompiler(u32 addr, u32& size, u32 ctrl);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|