summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader_recompiler/frontend')
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate_program.cpp6
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);