diff options
Diffstat (limited to 'src/shader_recompiler/ir_opt/constant_propagation_pass.cpp')
| -rw-r--r-- | src/shader_recompiler/ir_opt/constant_propagation_pass.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/shader_recompiler/ir_opt/constant_propagation_pass.cpp b/src/shader_recompiler/ir_opt/constant_propagation_pass.cpp index 796b4122d..3c72203ad 100644 --- a/src/shader_recompiler/ir_opt/constant_propagation_pass.cpp +++ b/src/shader_recompiler/ir_opt/constant_propagation_pass.cpp | |||
| @@ -563,6 +563,15 @@ void ConstantPropagation(IR::Block& block, IR::Inst& inst) { | |||
| 563 | return (base & ~(~(~0u << bits) << offset)) | (insert << offset); | 563 | return (base & ~(~(~0u << bits) << offset)) | (insert << offset); |
| 564 | }); | 564 | }); |
| 565 | return; | 565 | return; |
| 566 | case IR::Opcode::CompositeExtractU32x2: | ||
| 567 | return FoldCompositeExtract(inst, IR::Opcode::CompositeConstructU32x2, | ||
| 568 | IR::Opcode::CompositeInsertU32x2); | ||
| 569 | case IR::Opcode::CompositeExtractU32x3: | ||
| 570 | return FoldCompositeExtract(inst, IR::Opcode::CompositeConstructU32x3, | ||
| 571 | IR::Opcode::CompositeInsertU32x3); | ||
| 572 | case IR::Opcode::CompositeExtractU32x4: | ||
| 573 | return FoldCompositeExtract(inst, IR::Opcode::CompositeConstructU32x4, | ||
| 574 | IR::Opcode::CompositeInsertU32x4); | ||
| 566 | case IR::Opcode::CompositeExtractF32x2: | 575 | case IR::Opcode::CompositeExtractF32x2: |
| 567 | return FoldCompositeExtract(inst, IR::Opcode::CompositeConstructF32x2, | 576 | return FoldCompositeExtract(inst, IR::Opcode::CompositeConstructF32x2, |
| 568 | IR::Opcode::CompositeInsertF32x2); | 577 | IR::Opcode::CompositeInsertF32x2); |