video_core/amdgpu: heuristic for shader binary info

Games can strip the first shader instruction (meant for debugging) which we rely on for obtaining shader information (e.g. LittleBigPlanet 3). For this reason, we start a search through the code start until we arrive at the shader binary info.
This commit is contained in:
Daniel R. 2024-11-21 19:24:13 +01:00
parent 2a0629477b
commit e968b1c23f
No known key found for this signature in database
GPG key ID: B8ADC8F57BA18DBA
3 changed files with 37 additions and 13 deletions

View file

@ -292,8 +292,8 @@ bool PipelineCache::RefreshGraphicsKey() {
return false;
}
const auto* bininfo = Liverpool::GetBinaryInfo(*pgm);
if (!bininfo->Valid()) {
const auto& bininfo = Liverpool::GetBinaryInfo(*pgm);
if (!bininfo.Valid()) {
LOG_WARNING(Render_Vulkan, "Invalid binary info structure!");
key.stage_hashes[stage_out_idx] = 0;
infos[stage_out_idx] = nullptr;