diff options
Diffstat (limited to 'src/shader_recompiler/frontend')
| -rw-r--r-- | src/shader_recompiler/frontend/maxwell/translate_program.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/translate_program.cpp b/src/shader_recompiler/frontend/maxwell/translate_program.cpp index 17a6d4888..928b35561 100644 --- a/src/shader_recompiler/frontend/maxwell/translate_program.cpp +++ b/src/shader_recompiler/frontend/maxwell/translate_program.cpp | |||
| @@ -280,12 +280,18 @@ IR::Program TranslateProgram(ObjectPool<IR::Inst>& inst_pool, ObjectPool<IR::Blo | |||
| 280 | RemoveUnreachableBlocks(program); | 280 | RemoveUnreachableBlocks(program); |
| 281 | 281 | ||
| 282 | // Replace instructions before the SSA rewrite | 282 | // Replace instructions before the SSA rewrite |
| 283 | if (!host_info.support_float64) { | ||
| 284 | Optimization::LowerFp64ToFp32(program); | ||
| 285 | } | ||
| 283 | if (!host_info.support_float16) { | 286 | if (!host_info.support_float16) { |
| 284 | Optimization::LowerFp16ToFp32(program); | 287 | Optimization::LowerFp16ToFp32(program); |
| 285 | } | 288 | } |
| 286 | if (!host_info.support_int64) { | 289 | if (!host_info.support_int64) { |
| 287 | Optimization::LowerInt64ToInt32(program); | 290 | Optimization::LowerInt64ToInt32(program); |
| 288 | } | 291 | } |
| 292 | if (!host_info.support_conditional_barrier) { | ||
| 293 | Optimization::ConditionalBarrierPass(program); | ||
| 294 | } | ||
| 289 | Optimization::SsaRewritePass(program); | 295 | Optimization::SsaRewritePass(program); |
| 290 | 296 | ||
| 291 | Optimization::ConstantPropagationPass(env, program); | 297 | Optimization::ConstantPropagationPass(env, program); |