diff options
Diffstat (limited to 'src/shader_recompiler/frontend')
| -rw-r--r-- | src/shader_recompiler/frontend/ir/ir_emitter.cpp | 8 | ||||
| -rw-r--r-- | src/shader_recompiler/frontend/ir/ir_emitter.h | 4 | ||||
| -rw-r--r-- | src/shader_recompiler/frontend/ir/opcodes.inc | 2 |
3 files changed, 14 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.cpp b/src/shader_recompiler/frontend/ir/ir_emitter.cpp index c3e8d0681..845a57b1e 100644 --- a/src/shader_recompiler/frontend/ir/ir_emitter.cpp +++ b/src/shader_recompiler/frontend/ir/ir_emitter.cpp | |||
| @@ -1925,4 +1925,12 @@ F32 IREmitter::FSwizzleAdd(const F32& a, const F32& b, const U32& swizzle, FpCon | |||
| 1925 | return Inst<F32>(Opcode::FSwizzleAdd, Flags{control}, a, b, swizzle); | 1925 | return Inst<F32>(Opcode::FSwizzleAdd, Flags{control}, a, b, swizzle); |
| 1926 | } | 1926 | } |
| 1927 | 1927 | ||
| 1928 | F32 IREmitter::DPdxFine(const F32& a) { | ||
| 1929 | return Inst<F32>(Opcode::DPdxFine, a); | ||
| 1930 | } | ||
| 1931 | |||
| 1932 | F32 IREmitter::DPdyFine(const F32& a) { | ||
| 1933 | return Inst<F32>(Opcode::DPdyFine, a); | ||
| 1934 | } | ||
| 1935 | |||
| 1928 | } // namespace Shader::IR | 1936 | } // namespace Shader::IR |
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.h b/src/shader_recompiler/frontend/ir/ir_emitter.h index 7e67f5e30..c7101d668 100644 --- a/src/shader_recompiler/frontend/ir/ir_emitter.h +++ b/src/shader_recompiler/frontend/ir/ir_emitter.h | |||
| @@ -353,6 +353,10 @@ public: | |||
| 353 | [[nodiscard]] F32 FSwizzleAdd(const F32& a, const F32& b, const U32& swizzle, | 353 | [[nodiscard]] F32 FSwizzleAdd(const F32& a, const F32& b, const U32& swizzle, |
| 354 | FpControl control = {}); | 354 | FpControl control = {}); |
| 355 | 355 | ||
| 356 | [[nodiscard]] F32 DPdxFine(const F32& a); | ||
| 357 | |||
| 358 | [[nodiscard]] F32 DPdyFine(const F32& a); | ||
| 359 | |||
| 356 | private: | 360 | private: |
| 357 | IR::Block::iterator insertion_point; | 361 | IR::Block::iterator insertion_point; |
| 358 | 362 | ||
diff --git a/src/shader_recompiler/frontend/ir/opcodes.inc b/src/shader_recompiler/frontend/ir/opcodes.inc index 269de8ca5..e4cb8964a 100644 --- a/src/shader_recompiler/frontend/ir/opcodes.inc +++ b/src/shader_recompiler/frontend/ir/opcodes.inc | |||
| @@ -511,3 +511,5 @@ OPCODE(ShuffleUp, U32, U32, | |||
| 511 | OPCODE(ShuffleDown, U32, U32, U32, U32, U32, ) | 511 | OPCODE(ShuffleDown, U32, U32, U32, U32, U32, ) |
| 512 | OPCODE(ShuffleButterfly, U32, U32, U32, U32, U32, ) | 512 | OPCODE(ShuffleButterfly, U32, U32, U32, U32, U32, ) |
| 513 | OPCODE(FSwizzleAdd, F32, F32, F32, U32, ) | 513 | OPCODE(FSwizzleAdd, F32, F32, F32, U32, ) |
| 514 | OPCODE(DPdxFine, F32, F32, ) | ||
| 515 | OPCODE(DPdyFine, F32, F32, ) | ||