Browse Source

glasm: Do not alias ConditionRef for now

Immediate condition refs where not handled correctly. Just move the
value for now.
nce_cpp
ReinUsesLisp 5 years ago
committed by ameerj
parent
commit
c455c92d76
  1. 4
      src/shader_recompiler/backend/glasm/emit_glasm_bitwise_conversion.cpp
  2. 1
      src/shader_recompiler/backend/glasm/reg_alloc.cpp

4
src/shader_recompiler/backend/glasm/emit_glasm_bitwise_conversion.cpp

@ -22,8 +22,8 @@ void EmitIdentity(EmitContext&, IR::Inst& inst, const IR::Value& value) {
Alias(inst, value);
}
void EmitConditionRef(EmitContext&, IR::Inst& inst, const IR::Value& value) {
Alias(inst, value);
void EmitConditionRef(EmitContext& ctx, IR::Inst& inst, const IR::Value& value) {
ctx.Add("MOV.S {},{};", inst, ScalarS32{ctx.reg_alloc.Consume(value)});
}
void EmitBitCastU16F16(EmitContext&, IR::Inst& inst, const IR::Value& value) {

1
src/shader_recompiler/backend/glasm/reg_alloc.cpp

@ -139,7 +139,6 @@ void RegAlloc::Free(Id id) {
/*static*/ bool RegAlloc::IsAliased(const IR::Inst& inst) {
switch (inst.GetOpcode()) {
case IR::Opcode::Identity:
case IR::Opcode::ConditionRef:
case IR::Opcode::BitCastU16F16:
case IR::Opcode::BitCastU32F32:
case IR::Opcode::BitCastU64F64:

Loading…
Cancel
Save