texture.c lengthiness and intermixing Vulkan and OpenGL specific code causes unnecessary complexity overhead.
These changes split Vulkan and Opengl specific code into `texture_vk.c` and `texture_gl.c` leaving `texture.c` with only generic code shared between the rendering backends.
Thus the bulk of the changes are just rearrangement of existing code with the intent to keep the logic as original as possible.
Therefore the only significant difference other than the rearrangement is the declaration of some generic functions in `dlls/wined3d/wined3d_private.h` which dropped the `static` specifier so that the may be defined in `texture.c`.
Dropping the `static` was favored over adding `static inline` function definitions to `dlls/wined3d/wined3d_private.h` (like other functions defined there) to avoid bloating the header file even more.
If those function declarations are better defined as `static inline` like the others then I'll make those changes despite the added bloat.
This effort spawned after encountering excessive complexity while trying to fix Direct3D texture sharing discrepancies. Splitting the files allows devs to ignore large chunks of irrelevant code similar to other parts that already split rendering backends specific code into separate files.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/9406
It should be more efficient to compare and ensure uniqueness of CFURLs rather than CFStrings, plus we avoid having to get file system paths for all the duplicated URLs. (On my system, 810 fonts turn into 355 unique font files).
There should be no behavioral changes from this.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/9401
On Fri Nov 7 20:16:01 2025 +0000, Nikolay Sivov wrote:
> Should we remove HTHEME from ProgressDrawInfo then?
Yes. It will be removed in the next patch set. Right now, ProgressDrawInfo.theme is still being used.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/9392#note_121248