--
v4: d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
https://gitlab.winehq.org/wine/wine/-/merge_requests/4459
--
v3: d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
include: Fix ID3DXLoadUserData definition.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4459
--
v2: d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
include: Fix ID3DXLoadUserData definition.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4459
Detecting the host layout languages from their Xkb identifiers, and introducing a new driver interface using the KBDTABLES structure to translate them to Win32.
--
v5: winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES.
win32u: Support SGCAPS attributes in KBDTABLES.
winewayland.drv: Add scan2vk tables for azerty, qwertz and dvorak.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Avoid accessing NULL key name string pointer.
win32u: Introduce KbdLayerDescriptor user driver entry.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
winewayland.drv: Handle and parse Xkb keymap events.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4455
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45123
In `gdiplus/graphicspath.c` calculating the Pythagorean addition is needed, which is defined as:
a ⊕ b = sqrt(a^2+b^2)
This is hypotenuse, or the length of the longest side of a right-angled triangle, that we know the other 2 sides, a and b.
https://en.wikipedia.org/wiki/Pythagorean_addition
By using `sqrt(a * a + b * b)`, for large (or small) `a` or `b`, there is a possibility of overflow (underflow),
although the result itself is not that big (small) to cause overflow (underflow).
To overcome this problem, there are implementations of hypotenuse that do not use power of 2,
and use other methods to calculate the result.
To calculate `a ⊕ b`, you can easily use `hypotf(a,b)`.
https://en.cppreference.com/w/cpp/numeric/math/hypot
--
v2: gdiplus/font: Avoid computation overflow and underflow by using hypotf
https://gitlab.winehq.org/wine/wine/-/merge_requests/4475
Conflicts with !450 but can probably go upstream before it since backend changes here are minimal.
--
v4: vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
vkd3d-shader: Rename shader_instruction_array_add_icb() to shader_instruction_array_add_opaque_param().
vkd3d-shader/dxil: Handle the DXIL PHI instruction.
vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant.
vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/491