2015-05-19 18:17:33 +02:00
|
|
|
#pragma once
|
2015-10-21 10:24:02 +03:00
|
|
|
|
2015-05-19 18:17:33 +02:00
|
|
|
#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;
|
2018-04-29 08:41:51 +02:00
|
|
|
virtual void insertInputs(std::stringstream &OS) override;
|
2015-05-19 18:17:33 +02:00
|
|
|
virtual void insertOutputs(std::stringstream &OS) override;
|
|
|
|
|
virtual void insertConstants(std::stringstream &OS) override;
|
2017-12-02 15:13:13 +03:00
|
|
|
virtual void insertGlobalFunctions(std::stringstream &OS) override;
|
2015-05-19 18:17:33 +02:00
|
|
|
virtual void insertMainStart(std::stringstream &OS) override;
|
|
|
|
|
virtual void insertMainEnd(std::stringstream &OS) override;
|
|
|
|
|
public:
|
2016-01-10 20:09:56 +01:00
|
|
|
D3D12FragmentDecompiler(const RSXFragmentProgram &prog, u32& size);
|
2015-05-19 18:17:33 +02:00
|
|
|
};
|