mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-06-13 02:57:58 -05:00
glsl: Rework var alloc to not assign unused results
This commit is contained in:
@ -26,7 +26,13 @@ void EmitIdentity(EmitContext&, IR::Inst& inst, const IR::Value& value) {
|
||||
}
|
||||
|
||||
void EmitConditionRef(EmitContext& ctx, IR::Inst& inst, const IR::Value& value) {
|
||||
ctx.AddU1("{}={};", inst, ctx.var_alloc.Consume(value));
|
||||
// Fake one usage to get a real variable out of the condition
|
||||
inst.DestructiveAddUsage(1);
|
||||
const auto ret{ctx.var_alloc.Define(inst, GlslVarType::U1)};
|
||||
const auto input{ctx.var_alloc.Consume(value)};
|
||||
if (ret != input) {
|
||||
ctx.Add("{}={};", ret, input);
|
||||
}
|
||||
}
|
||||
|
||||
void EmitBitCastU16F16([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst) {
|
||||
|
Reference in New Issue
Block a user