2015-05-14 17:56:24 +02:00
|
|
|
#pragma once
|
2015-10-21 10:24:02 +03:00
|
|
|
|
2015-05-14 17:56:24 +02:00
|
|
|
#include <vector>
|
2015-05-14 18:55:59 +02:00
|
|
|
#include <sstream>
|
2015-05-20 01:21:27 +02:00
|
|
|
#include "../Common/VertexProgramDecompiler.h"
|
2015-05-14 17:56:24 +02:00
|
|
|
|
2015-05-20 01:21:27 +02:00
|
|
|
struct D3D12VertexProgramDecompiler : public VertexProgramDecompiler
|
2015-05-14 17:56:24 +02:00
|
|
|
{
|
2015-05-14 18:55:59 +02:00
|
|
|
protected:
|
2015-05-20 01:21:27 +02:00
|
|
|
virtual std::string getFloatTypeName(size_t elementCount) override;
|
2015-10-05 19:30:06 +02:00
|
|
|
std::string getIntTypeName(size_t elementCount) override;
|
2015-05-20 01:21:27 +02:00
|
|
|
virtual std::string getFunction(enum class FUNCTION) override;
|
2015-05-20 01:59:24 +02:00
|
|
|
virtual std::string compareFunction(enum class COMPARE, const std::string &, const std::string &) override;
|
2015-05-20 01:21:27 +02:00
|
|
|
|
2015-05-14 18:55:59 +02:00
|
|
|
virtual void insertHeader(std::stringstream &OS);
|
|
|
|
|
virtual void insertInputs(std::stringstream &OS, const std::vector<ParamType> &inputs);
|
|
|
|
|
virtual void insertConstants(std::stringstream &OS, const std::vector<ParamType> &constants);
|
|
|
|
|
virtual void insertOutputs(std::stringstream &OS, const std::vector<ParamType> &outputs);
|
2015-05-14 19:25:49 +02:00
|
|
|
virtual void insertMainStart(std::stringstream &OS);
|
|
|
|
|
virtual void insertMainEnd(std::stringstream &OS);
|
2016-01-18 16:50:06 +01:00
|
|
|
|
|
|
|
|
const RSXVertexProgram &rsx_vertex_program;
|
2015-05-14 17:56:24 +02:00
|
|
|
public:
|
2016-01-10 20:09:56 +01:00
|
|
|
D3D12VertexProgramDecompiler(const RSXVertexProgram &prog);
|
2015-05-14 17:56:24 +02:00
|
|
|
};
|