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 ||

I've fixed that locally.

Cheers,
Nicolai
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to