Removing WINED3D_RS entries from state tables and moving stubs to wined3d_device_apply_stateblock.
--
v2: wined3d: Move the WINED3D_RS_SUBPIXEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ZVISIBLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_LASTPIXEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PLANEMASK stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ROP2 stub to wined3d_device_apply_stateblock.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2192
I suspect you're already aware of this, but wined3d_texture_reduction_mode_from_d3d11() should probably use D3D11_DECODE_FILTER_REDUCTION. Somewhat relatedly, the definition of D3D11_DECODE_IS_COMPARISON_FILTER will need to adjusted, or wined3d_texture_compare_from_d3d11() will return incorrect results.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2246#note_24991
Using a dedicated exit jmpbuf and removing the need for assembly
routines.
When Wine handles an exception in unix code, we return to user mode by
jumping to the last syscall frame. This can leave some pthread cancel
cleanups registered, in the pthread internal linked list, and at the
same time later overwrite the stack frame they were registered for.
In the same way, jumping to the exit frame on thread exit or abort, can
also leave some cleanup handlers registered for invalid stack frames.
Depending on the implementation, calling pthread_exit will cause all the
registered pthread cleanup handlers to be called, possibly jumping back
to now overwritten stack frames and causing segmentation faults.
Exiting a pthread normally, by returning from its procedure, or calling
exit(0) for the main thread doesn't run pthread_exit and doesn't call
cleanup handlers, avoiding that situation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52213
### Additional note:
For robustness, we should probably try to execute these cleanup handlers
when unwinding the stack frames, as we would otherwise leave pthread
objects in a potential problematic state (like a mutex locked, etc).
It is however hard to do so when the handlers are registered from some C
code: pthread C implementation is done by calling some internal pthread
functions to register the handlers, and they aren't registered as
standard unwind handlers.
Only pthread_cancel and pthread_exit can unwind and call / unregister
the C handlers, but interrupting that procedure, for instance calling
setjmp / longjmp from withing our own handler isn't supported.
From C++ code, pthread cleanup handlers are registered through C++ class
constructors / destructors, and it would then be possible to partially
unwind and call them at the same time.
--
v9: ntdll: Remove now unnecessary arch-specific exit frame.
ntdll: Avoid calling pthread_exit on thread exit.
ntdll: Return entry and suspend from server_init_process_done.
ntdll: Create a pthread for the main thread.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1088
SetInputType tests will randomly failed after PATCH 3 (It was OK in PATCH 2). I spend many time on figuring out why. And I found a weird thing: If I comment out the compare_nv12() in check_dmo_output_data_buffer_(), the test failures will be gone.
I can't think out the reason. I don't understand why compare_nv12() in check_dmo_output_data_buffer_() affects SetInputType tests. And I don't want to waste too much time on the test stuff. Implementing the decoder is more important, so I marked the failed tests as flaky.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2247
--
v2: vkd3d-shader/hlsl: Allow case-insenstive names for shader objects types.
vkd3d-shader/hlsl: Initial support for string constants.
vkd3d-shader/hlsl: Use unsigned type for "dword" alias.
vkd3d-shader/hlsl: Support case-insensitive lookup for selected builtin types.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/101
The Optimize property tells msado15 to create index maps
for lookups in Recordset Find. Just store the value for
now until Find is implemented.
This property only appears on a Field when created from a real database connection. Just Appending of a Column doesn't give it this property. Currently this is the only Property that is set/query for that I found during testing.
--
v2: msado15: Support "Optimize" in Properties get_Item
https://gitlab.winehq.org/wine/wine/-/merge_requests/2244