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;
|
2019-04-13 00:25:44 +03:00
|
|
|
virtual std::string getHalfTypeName(size_t elementCount) override;
|
2018-09-28 23:20:38 +03:00
|
|
|
virtual std::string getFunction(enum FUNCTION) override;
|
2018-09-26 01:14:10 +03:00
|
|
|
virtual std::string compareFunction(enum 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
|
|
|
};
|