On 03.05.19 12:36, Nicolai Hähnle wrote: > On 25.04.19 13:18, Nicolai Hähnle wrote: >> @@ -4618,21 +4648,27 @@ static void si_bind_vertex_elements(struct >> pipe_context *ctx, void *state) >> struct si_vertex_elements *old = sctx->vertex_elements; >> struct si_vertex_elements *v = (struct si_vertex_elements*)state; >> sctx->vertex_elements = v; >> sctx->vertex_buffers_dirty = true; >> if (v && >> (!old || >> old->count != v->count || >> old->uses_instance_divisors != v->uses_instance_divisors || >> - v->uses_instance_divisors || /* we don't check which >> divisors changed */ >> + /* we don't check which divisors changed */ >> + v->uses_instance_divisors || >> + /* fix_fetch_{always,opencode,unaligned} and >> hw_load_is_dword are >> + * functions of fix_fetch and the src_offset alignment. >> + * If they change and fix_fetch doesn't, it must be due to >> different >> + * src_offset alignment, which is reflected in >> fix_fetch_opencode. */ >> + old->fix_fetch_opencode != v->fix_fetch_opencode || >> memcmp(old->fix_fetch, v->fix_fetch, >> sizeof(v->fix_fetch[0]) * v->count))) > > The following condition got dropped in a late cleanup that I was doing: > >> (old->vb_alignment_check_mask ^ v->vb_alignment_check_mask) & >> sctx->vertex_buffer_unaligned ||
... and also this: > ((v->vb_alignment_check_mask & sctx->vertex_buffer_unaligned) && > memcmp(old->vertex_buffer_index, v->vertex_buffer_index, > sizeof(v->vertex_buffer_index[0]) * v->count)) || Cheers, Nicolai > > I've fixed that locally. > > Cheers, > Nicolai _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev