FWIW, patch 2/5 is broken where it is; wined3d_device_context_upload_bo() does acquire the resource. Ultimately that just means that the patch needs to be moved later in the series, though.