```diff + * Attachments forming flip chain can only be explicitly attached on ddraw v1. That + * is implemented by inserting those into complex_array chain so that appear + * the same way as auto created back buffers in the attachment structure. ```
I'd suggest ```diff + * Attachments forming a flip chain can only be explicitly attached on ddraw + * v1. That is implemented by inserting those into the complex_array[] chain + * so that they appear the same way as implicitly created back buffers in the + * attachment structure. ```
```diff +static BOOL force_3ddevice(struct ddraw *ddraw, const DDSURFACEDESC2 *desc, unsigned int surface_version) +{ + return surface_version == 1 && desc->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE && !(ddraw->flags & DDRAW_NO3D); +} ```
We could perhaps also do something like this: ```c static bool is_render_target(struct ddraw *ddraw, DWORD caps, unsigned int surface_version) { if (caps & DDSCAPS_3DDEVICE) return true; return surface_version == 1 && caps & DDSCAPS_PRIMARYSURFACE && !(ddraw->flags & DDRAW_NO3D); } ``` Looks good to me though. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10992#note_141987