From 5abc86f3d55417bd69efce87dca06186ee7049a5 Mon Sep 17 00:00:00 2001 From: JAB-dev <68183649+JAB-dev@users.noreply.github.com> Date: Sat, 10 Oct 2026 20:11:36 +0200 Subject: [PATCH] fix(agc): look up cached draws at the fixed pixel push slot With graphics pipeline libraries a draw places the pixel shader's push constants at the fixed fragment slot (Graphics::StagePushOffset) and the draw cache records that offset, but lookupDraw still expected the stacked offset after the vertex shader's push bytes. Every pixel stage then missed as a layout mismatch, so no cached draw or draw recipe was reused and each draw was captured and materialized again. Co-Authored-By: Claude Opus 5.5 --- .../prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawLookup.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawLookup.cpp b/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawLookup.cpp index 0df4edd20..090b9b10d 100644 --- a/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawLookup.cpp +++ b/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawLookup.cpp @@ -89,6 +89,7 @@ void Driver::lookupDraw(const Submission& submission, const std::shared_ptrGraphicsPipelineLibraries()); const auto& variants = entry->stages[i]; auto outcome = EntryOutcome::Differing; bool anyLayout = false;