This is the initial set of patches for handling new pixel format types. I've pushed a branch [here](https://gitlab.winehq.org/cmcadams/wine/-/commits/WIP/d3dx-shared-sou… containing the rest of my current patches if additional context would be useful, the new format handling patches end with `ed7022a0838b346f4fa2b229ce7e8e6b8ebc2244`.
--
v5: d3dx9: Use format_from_d3dx_color() instead of fill_texture().
d3dx9: Add support for D3DFMT_V8U8.
d3dx9: Add support for D3DFMT_Q8W8V8U8.
d3dx9: Store pixel value range alongside pixel values when reading pixels.
d3dx9: Clamp source components to unorm range.
d3dx9/tests: Add format conversion tests for premultiplied alpha DXTn formats.
d3dx9/tests: Add more d3d format conversion tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6360
Fixes heap corruption downstream in NsiEnumerateObjectsAllParametersEx.
Fixes regressions from 9085bc7b87f and a3f737f6143.
---
I missed this piece of logic in MR !6399. The original line that implemented it is this:
https://gitlab.winehq.org/wine/wine/-/blob/1d05064e747f9998fd705345659030e6…
--
v3: nsiproxy: Only set the endpoint count from udp_endpoint_enumerate_all when appropriate.
nsiproxy: Only set the connection count from tcp_conns_enumerate_all when appropriate.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6548