diff options
Diffstat (limited to 'src/shader_recompiler/frontend/ir/ir_emitter.cpp')
| -rw-r--r-- | src/shader_recompiler/frontend/ir/ir_emitter.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.cpp b/src/shader_recompiler/frontend/ir/ir_emitter.cpp index 418b7f5ac..b365a8a6e 100644 --- a/src/shader_recompiler/frontend/ir/ir_emitter.cpp +++ b/src/shader_recompiler/frontend/ir/ir_emitter.cpp | |||
| @@ -1474,6 +1474,19 @@ F32 IREmitter::ImageSampleDrefExplicitLod(const Value& handle, const Value& coor | |||
| 1474 | return Inst<F32>(op, Flags{info}, handle, coords, dref, lod_lc, offset); | 1474 | return Inst<F32>(op, Flags{info}, handle, coords, dref, lod_lc, offset); |
| 1475 | } | 1475 | } |
| 1476 | 1476 | ||
| 1477 | Value IREmitter::ImageGather(const Value& handle, const Value& coords, const Value& offset, | ||
| 1478 | const Value& offset2, TextureInstInfo info) { | ||
| 1479 | const Opcode op{handle.IsImmediate() ? Opcode::BoundImageGather : Opcode::BindlessImageGather}; | ||
| 1480 | return Inst(op, Flags{info}, handle, coords, offset, offset2); | ||
| 1481 | } | ||
| 1482 | |||
| 1483 | Value IREmitter::ImageGatherDref(const Value& handle, const Value& coords, const Value& offset, | ||
| 1484 | const Value& offset2, const F32& dref, TextureInstInfo info) { | ||
| 1485 | const Opcode op{handle.IsImmediate() ? Opcode::BoundImageGatherDref | ||
| 1486 | : Opcode::BindlessImageGatherDref}; | ||
| 1487 | return Inst(op, Flags{info}, handle, coords, offset, offset2, dref); | ||
| 1488 | } | ||
| 1489 | |||
| 1477 | U1 IREmitter::VoteAll(const U1& value) { | 1490 | U1 IREmitter::VoteAll(const U1& value) { |
| 1478 | return Inst<U1>(Opcode::VoteAll, value); | 1491 | return Inst<U1>(Opcode::VoteAll, value); |
| 1479 | } | 1492 | } |