[PATCH 2/3] d3dx9: Set dirty flag on parameter change.

Matteo Bruni matteo.mystral at gmail.com
Mon Mar 13 16:42:52 CDT 2017


2017-03-09 23:15 GMT+01:00 Paul Gofman <gofmanp at gmail.com>:

> @@ -2021,9 +2055,11 @@ static HRESULT d3dx9_base_effect_set_matrix_array(struct d3dx9_base_effect *base
>          switch (param->class)
>          {
>              case D3DXPC_MATRIX_ROWS:
> +                set_dirty(param);
>                  for (i = 0; i < count; ++i)
>                  {
>                      set_matrix(&param->members[i], &matrix[i]);
> +                    set_dirty(&param->members[i]);
>                  }
>                  return D3D_OK;
>

Here and below it should be possible to avoid marking dirty each array
element individually. IIRC I had some test showing that arrays are
always considered completely dirty or clean on native i.e.
CommitChanges updates the whole array even if you only change a subset
of the elements.



More information about the wine-devel mailing list