summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/ir/ir_emitter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader_recompiler/frontend/ir/ir_emitter.h')
-rw-r--r--src/shader_recompiler/frontend/ir/ir_emitter.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.h b/src/shader_recompiler/frontend/ir/ir_emitter.h
index 6e29bf0e2..cb2a7710a 100644
--- a/src/shader_recompiler/frontend/ir/ir_emitter.h
+++ b/src/shader_recompiler/frontend/ir/ir_emitter.h
@@ -91,6 +91,7 @@ public:
91 [[nodiscard]] U1 GetSignFromOp(const Value& op); 91 [[nodiscard]] U1 GetSignFromOp(const Value& op);
92 [[nodiscard]] U1 GetCarryFromOp(const Value& op); 92 [[nodiscard]] U1 GetCarryFromOp(const Value& op);
93 [[nodiscard]] U1 GetOverflowFromOp(const Value& op); 93 [[nodiscard]] U1 GetOverflowFromOp(const Value& op);
94 [[nodiscard]] U1 GetSparseFromOp(const Value& op);
94 95
95 [[nodiscard]] Value CompositeConstruct(const Value& e1, const Value& e2); 96 [[nodiscard]] Value CompositeConstruct(const Value& e1, const Value& e2);
96 [[nodiscard]] Value CompositeConstruct(const Value& e1, const Value& e2, const Value& e3); 97 [[nodiscard]] Value CompositeConstruct(const Value& e1, const Value& e2, const Value& e3);
@@ -159,7 +160,7 @@ public:
159 [[nodiscard]] U32 BitFieldInsert(const U32& base, const U32& insert, const U32& offset, 160 [[nodiscard]] U32 BitFieldInsert(const U32& base, const U32& insert, const U32& offset,
160 const U32& count); 161 const U32& count);
161 [[nodiscard]] U32 BitFieldExtract(const U32& base, const U32& offset, const U32& count, 162 [[nodiscard]] U32 BitFieldExtract(const U32& base, const U32& offset, const U32& count,
162 bool is_signed); 163 bool is_signed = false);
163 [[nodiscard]] U32 BitReverse(const U32& value); 164 [[nodiscard]] U32 BitReverse(const U32& value);
164 [[nodiscard]] U32 BitCount(const U32& value); 165 [[nodiscard]] U32 BitCount(const U32& value);
165 [[nodiscard]] U32 BitwiseNot(const U32& value); 166 [[nodiscard]] U32 BitwiseNot(const U32& value);
@@ -186,10 +187,28 @@ public:
186 [[nodiscard]] U32U64 ConvertFToS(size_t bitsize, const F16F32F64& value); 187 [[nodiscard]] U32U64 ConvertFToS(size_t bitsize, const F16F32F64& value);
187 [[nodiscard]] U32U64 ConvertFToU(size_t bitsize, const F16F32F64& value); 188 [[nodiscard]] U32U64 ConvertFToU(size_t bitsize, const F16F32F64& value);
188 [[nodiscard]] U32U64 ConvertFToI(size_t bitsize, bool is_signed, const F16F32F64& value); 189 [[nodiscard]] U32U64 ConvertFToI(size_t bitsize, bool is_signed, const F16F32F64& value);
190 [[nodiscard]] F16F32F64 ConvertSToF(size_t bitsize, const U32U64& value);
191 [[nodiscard]] F16F32F64 ConvertUToF(size_t bitsize, const U32U64& value);
192 [[nodiscard]] F16F32F64 ConvertIToF(size_t bitsize, bool is_signed, const U32U64& value);
189 193
190 [[nodiscard]] U32U64 UConvert(size_t result_bitsize, const U32U64& value); 194 [[nodiscard]] U32U64 UConvert(size_t result_bitsize, const U32U64& value);
191 [[nodiscard]] F16F32F64 FPConvert(size_t result_bitsize, const F16F32F64& value); 195 [[nodiscard]] F16F32F64 FPConvert(size_t result_bitsize, const F16F32F64& value);
192 196
197 [[nodiscard]] Value ImageSampleImplicitLod(const Value& handle, const Value& coords,
198 const F32& bias, const Value& offset,
199 const F32& lod_clamp, TextureInstInfo info);
200 [[nodiscard]] Value ImageSampleExplicitLod(const Value& handle, const Value& coords,
201 const F32& lod, const Value& offset,
202 const F32& lod_clamp, TextureInstInfo info);
203 [[nodiscard]] F32 ImageSampleDrefImplicitLod(const Value& handle, const Value& coords,
204 const F32& dref, const F32& bias,
205 const Value& offset, const F32& lod_clamp,
206 TextureInstInfo info);
207 [[nodiscard]] F32 ImageSampleDrefExplicitLod(const Value& handle, const Value& coords,
208 const F32& dref, const F32& lod,
209 const Value& offset, const F32& lod_clamp,
210 TextureInstInfo info);
211
193private: 212private:
194 IR::Block::iterator insertion_point; 213 IR::Block::iterator insertion_point;
195 214