That looks fine, although modifying the passed descriptor is a little surprising. I'm less familiar with d3d9 conventions, so if @zfigura approves, I'm not objecting, but maybe we could only change the descriptor stored in `struct wined3d_swapchain_state`, and if it needs to be updated up the stack, call `wined3d_swapchain_get_desc`?
It mostly follows the (public) d3d8/d3d9 convention. See also e.g. `d3d9_device_CreateAdditionalSwapChain()`. It would probably make sense to not do that in wined3d though.