[PATCH 4/4] wined3d: Remove stateblock handling from wined3d_device_multiply_transform().

Sven Baars sven.wine at gmail.com
Wed Jan 23 02:08:21 CST 2019


On 23-01-19 02:50, Zebediah Figura wrote:
> -    mat = &device->update_state->transforms[state];
> -    multiply_matrix(&temp, mat, matrix);
> -
> -    /* Apply change via set transform - will reapply to eg. lights this way. */
> -    wined3d_device_set_transform(device, state, &temp);
> +    /* Tests show that stateblock recording is ignored; the change goes directly
> +     * into the primary stateblock. */
> +    mat = &device->state.transforms[state];
> +    multiply_matrix(mat, mat, matrix);
> +    wined3d_cs_emit_set_transform(device->cs, state, matrix);
>  }
>  
>  /* Note lights are real special cases. Although the device caps state only
Hey Zeb,

I don't think this works properly, since inline matrix multiplication is
not a thing. You'll need the temp matrix here, unless you're really
lucky with the matrix values.

Sven



More information about the wine-devel mailing list