!prog->inline_variants && likely(prog->last_pipeline[rp_idx][idx]) &&
/* this data is too big to compare in the fast-path */
likely(!prog->shaders[MESA_SHADER_FRAGMENT]->fs.legacy_shadow_mask)) {
- state->pipeline = prog->last_pipeline[rp_idx][idx]->pipeline;
+ state->pipeline = prog->last_pipeline[rp_idx][idx];
return state->pipeline;
}
}
/* update states for fastpath */
if (DYNAMIC_STATE >= ZINK_DYNAMIC_VERTEX_INPUT) {
prog->last_finalized_hash[rp_idx][idx] = state->final_hash;
- prog->last_pipeline[rp_idx][idx] = cache_entry;
+ prog->last_pipeline[rp_idx][idx] = cache_entry->pipeline;
}
return state->pipeline;
}
uint8_t inline_variants; //which stages are using inlined uniforms
uint32_t last_finalized_hash[2][4]; //[dynamic, renderpass][primtype idx]
- struct zink_gfx_pipeline_cache_entry *last_pipeline[2][4]; //[dynamic, renderpass][primtype idx]
+ VkPipeline last_pipeline[2][4]; //[dynamic, renderpass][primtype idx]
struct set libs; //zink_gfx_library_key -> VkPipeline
};