mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-03-19 03:34:51 +01:00
- Improve support for float16_t by minimizing mixed inputs to functions (ambiguous overloads) - Minimize amount of downcasts in code by using opcode flags - Re-enable float16_t support for vulkan
26 lines
1 KiB
C++
26 lines
1 KiB
C++
#pragma once
|
|
|
|
#include "Emu/RSX/RSXFragmentProgram.h"
|
|
#include <sstream>
|
|
|
|
#include "../Common/FragmentProgramDecompiler.h"
|
|
|
|
class D3D12FragmentDecompiler : public FragmentProgramDecompiler
|
|
{
|
|
protected:
|
|
virtual std::string getFloatTypeName(size_t elementCount) override;
|
|
virtual std::string getHalfTypeName(size_t elementCount) override;
|
|
virtual std::string getFunction(enum class FUNCTION) override;
|
|
virtual std::string compareFunction(enum class COMPARE, const std::string &, const std::string &) override;
|
|
|
|
virtual void insertHeader(std::stringstream &OS) override;
|
|
virtual void insertInputs(std::stringstream &OS) override;
|
|
virtual void insertOutputs(std::stringstream &OS) override;
|
|
virtual void insertConstants(std::stringstream &OS) override;
|
|
virtual void insertGlobalFunctions(std::stringstream &OS) override;
|
|
virtual void insertMainStart(std::stringstream &OS) override;
|
|
virtual void insertMainEnd(std::stringstream &OS) override;
|
|
public:
|
|
D3D12FragmentDecompiler(const RSXFragmentProgram &prog, u32& size);
|
|
};
|