```diff @@ -957,7 +957,7 @@ static HRESULT WINAPI d3d8_device_Reset(IDirect3DDevice8 *iface, if (!wined3d_swapchain_desc_from_d3d8(&swapchain_desc, device->d3d_parent->wined3d_outputs[output_idx], present_parameters)) return D3DERR_INVALIDCALL; - swapchain_desc.flags |= WINED3D_SWAPCHAIN_IMPLICIT; + swapchain_desc.flags |= WINED3D_SWAPCHAIN_IMPLICIT | WINED3D_SWAPCHAIN_ALLOW_MS_LOCKABLE_BACKBUFFER;
wined3d_mutex_lock();
@@ -3758,7 +3758,7 @@ HRESULT device_init(struct d3d8_device *device, struct d3d8 *parent, struct wine free(device->handle_table.entries); return D3DERR_INVALIDCALL; } - swapchain_desc.flags |= WINED3D_SWAPCHAIN_IMPLICIT; + swapchain_desc.flags |= WINED3D_SWAPCHAIN_IMPLICIT | WINED3D_SWAPCHAIN_ALLOW_MS_LOCKABLE_BACKBUFFER;
if (FAILED(hr = d3d8_swapchain_create(device, &swapchain_desc, wined3dswapinterval_from_d3d(parameters->FullScreen_PresentationInterval), &d3d_swapchain))) ```
Should this apply to d3d8_device_CreateAdditionalSwapChain() as well? Or put a different way, would it make sense to set this flag in wined3d_swapchain_desc_from_d3d8()? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10874#note_141312