On Thu, 23 Jan 2020 at 18:22, Zebediah Figura z.figura12@gmail.com wrote:
On second thought, I think the reason I didn't do this in the first place is that eventually that code [viz. calling wined3d_device_set_*() in wined3d_stateblock_apply()] would get removed anyway, after all of the client libraries used wined3d_device_apply_stateblock().
Whether to use the v3 or v4 of this patch is not something I care particularly much about.
It probably would have been best to make that particular change in a separate patch in any case, but I think there's another issue with this. You're calling wined3d_device_apply_stateblock() from wined3d_stateblock_apply() with "device_state" as the "stateblock" parameter. That means it's also going to be using the "changed" information from "device_state", but wined3d_stateblock_apply() doesn't update that information, and it probably shouldn't.