VkSampleMask sample_mask;
unsigned rp_state;
- struct zink_blend_state *blend_state;
+ uint32_t blend_id;
/* Pre-hashed value for table lookup, invalid when zero.
* Members after this point are not included in pipeline state hash key */
bool sample_locations_enabled;
bool have_EXT_extended_dynamic_state;
bool have_EXT_extended_dynamic_state2;
+ struct zink_blend_state *blend_state;
struct zink_render_pass *render_pass;
VkPipeline pipeline;
uint8_t patch_vertices;
struct zink_blend_state *cso = CALLOC_STRUCT(zink_blend_state);
if (!cso)
return NULL;
+ cso->hash = _mesa_hash_pointer(cso);
if (blend_state->logicop_enable) {
cso->logicop_enable = VK_TRUE;
{
struct zink_context *ctx = zink_context(pctx);
struct zink_gfx_pipeline_state* state = &zink_context(pctx)->gfx_pipeline_state;
+ struct zink_blend_state *blend = cso;
if (state->blend_state != cso) {
state->blend_state = cso;
+ state->blend_id = blend ? blend->hash : 0;
state->dirty = true;
ctx->blend_state_changed = true;
}