Allows OpenGL to start being used with nulldrv, as long as EGL and this extension are available. Right now it doesn't render to anything though, but we'll later make it use the window surface emulation with FBOs as it gets introduced, (itself a requirement to hook OpenGL rendering for compositing).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8734
Fix a regression from 31fda1f4, which allowed the visible rect to be larger than the monitor rect.
After 31fda1f4, CHRONO TRIGGER (613830) sets a window rect slightly larger than the monitor rect and
will change the window rect to the rect it previously set if the game detects a different window rect.
Adding __NET_WM_STATE_FULLSCREEN will cause WMs to move the window to cover exactly the monitor rect.
So the window rect will be repeatedly changed by the WM and the game, causing a flickering effect. Limit
fullscreen visible rects to the virtual screen rect so that the visible rects in winex11.drv are of
the same size as the monitor rect. Thus, adding __NET_WM_STATE_FULLSCREEN won't trigger a size change.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8731
Supersedes https://gitlab.winehq.org/wine/wine/-/merge_requests/8338
The header cannot seem to be generated easily from an IDL, gameinput has some unfortunate versioning which reuses the same identifiers across versions, in an incompatible way and sometimes sharing only a subset of them (for instance enum values), and uses C++ namespaces to separate versions.
The implementation needs to support every interface version at the same time, which is implemented by wrapping identifiers and adding version suffixes whenever it is included by the implementing code. The tests are also using that so we can tests multiple versions in the same file.
--
v2: dinput/tests: Add some gameinput tests.
gameinput: Introduce new DLL.
include: Add gameinput.h.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8733
Supersedes https://gitlab.winehq.org/wine/wine/-/merge_requests/8338
The header cannot seem to be generated easily from an IDL, gameinput has some unfortunate versioning which reuses the same identifiers across versions, in an incompatible way and sometimes sharing only a subset of them (for instance enum values), and uses C++ namespaces to separate versions.
The implementation needs to support every interface version at the same time, which is implemented by wrapping identifiers and adding version suffixes whenever it is included by the implementing code. The tests are also using that so we can tests multiple versions in the same file.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8733
Qt5 applications draw a white close glyph on top of the toolbar button background for its Qt5QWindowIcon
window class. Before this patch, the toolbar button background was also white, so the close glyph was
not distinguishable from the background. On Windows 10, the toolbar button background has a light blue
color with transparency at the center, so let's make the center of the toolbar button background of
light.msstyles transparent as well.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8730
@alexhenrie @zhiyi
The corresponding Windows test demo is as follows:
[test_DrawTextExW.exe](/uploads/ff1eafc9c58ac03b598699a93136484c/test_DrawTextExW.exe)
[test_DrawTextExW.c](/uploads/a41719a33c2ee0e057c911933bf55180/test_DrawTextExW.c)
Signed-off-by: chenjiangyi <chenjiangyi(a)uniontech.com>
Change-Id: I64052ba8aa8161ad83c1811d642aedbe462ef5ea
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8177
The Crew Motorsport depends on that.
ECDSA_P521 is not exactly needed in this case (only ECDH_P521) but that has a lot of common parts and probably makes sense to add at once.
WRT RSA encryption change, the game calls BCryptEncrypt(... BCRYPT_PAD_OAEP) with NULL padding info and output buffer and length, maybe trying to determine the output size this way. The failure here is fatal for that process (while then it is going to use BCRYPT_PAD_PKCS1 with the actual output buffer). Turns out on Windows that works, makes some sense because the size of RSA encrypted output depends on RSA key size only (I added a test with 0 input and no padding just in case). While for decrypt that is different as it is not possible to determine decrypted length without knowing padding algorithm.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8728