vk_pipeline_cache: Cleanup graphics key refresh (#3449)

* vk_pipeline_cache: Cleanup graphics key refresh

* position: Don't assert on None mapping

Also check outputs in runtime info so shader is recompiled if they change
This commit is contained in:
TheTurtle
2025-08-24 03:16:58 +03:00
committed by GitHub
parent 6590f07772
commit 6d98a5ab60
16 changed files with 120 additions and 170 deletions

View File

@@ -3,6 +3,7 @@
#pragma once
#include "common/logging/log.h"
#include "shader_recompiler/ir/ir_emitter.h"
#include "shader_recompiler/runtime_info.h"
@@ -45,8 +46,12 @@ inline void ExportPosition(IREmitter& ir, const auto& stage, Attribute attribute
case Output::GsMrtIndex:
ir.SetAttribute(IR::Attribute::RenderTargetId, value);
break;
case Output::None:
LOG_WARNING(Render_Recompiler, "The {} component of {} isn't mapped, skipping",
"xyzw"[comp], NameOf(attribute));
break;
default:
UNREACHABLE_MSG("Unhandled output {} on attribute {}", u32(output), u32(attribute));
UNREACHABLE_MSG("Unhandled output {} on attribute {}", u32(output), NameOf(attribute));
}
}