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 <noreply@anthropic.com>
This commit is contained in:
parent
9f87be5cc0
commit
5abc86f3d5
|
|
@ -89,6 +89,7 @@ void Driver::lookupDraw(const Submission& submission, const std::shared_ptr<Vulk
|
|||
for (std::size_t i = 0; !miss && i < programs.size(); ++i) {
|
||||
if (roles[i] == Role::GeometryBack) continue;
|
||||
++stageValidations;
|
||||
cursor = Graphics::StagePushOffset(cursor, programs[i].binary.stage, localDevice->GraphicsPipelineLibraries());
|
||||
const auto& variants = entry->stages[i];
|
||||
auto outcome = EntryOutcome::Differing;
|
||||
bool anyLayout = false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue