This corrects what interface should be returned, there isn't a hierarchy with
these IUISettings at all. It should return IUISettings and then QI for
any others that it requires.
--
v6: windows.ui: Use DEFINE_IINSPECTABLE for IUISettings3
windows.ui: Add IUISettings2 stub interface
windows.ui: Add Stubbed interface IUISettings
include: Add Missing IUISettings interfaces.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2465
This corrects what interface should be returned, there isn't a hierarchy with
these IUISettings at all. It should return IUISettings and then QI for
any others that it requires.
--
v5: windows.ui: Use DEFINE_IINSPECTABLE for IUISettings3
windows.ui: Add IUISettings2 stub interface
windows.ui: Add Stubbed interface IUISettings
include: Add Missing IUISettings interfaces.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2465
This corrects what interface should be returned, there isn't a hierarchy with
these IUISettings at all. It should return IUISettings and then QI for
any others that it requires.
--
v4: windows.ui: Use DEFINE_IINSPECTABLE for IUISettings3
windows.ui: Add IUISettings2 stub interface
windows.ui: Add Stubbed interface IUISettings
include: Add Missing IUISettings interfaces.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2465
CertOpenStore(CERT_STORE_PROV_SYSTEM_REGISTRY_, ..., "Root") is taking 80-250ms here when executed first time in a process. That triggers a race condition in some CEF / NWJS games (Purgo box is an example), where NWJS seems to depend on main thread initialization going faster than 3d initialization in the other thread (otherwise it crashes). The main hitter is the mentioned CertOpenStore(). Probably more important is that the delay is always there upon first time reading root certs per process start which happens, e. g., any time an app wants to establish a seure connection to public server.
The major hitter is rootstore.c:check_and_store_certs() which validates certificate chains as a part of host certificate import which is always done fully.
The idea is that we can persist registry cache (which load is relatively quick) only adding a new certificates, also making sure that none of the previously root certs was deleted. In the latter case the patches fallback to full reimport to guarantee that the chain validation is not affected.
The patchset brings CertOpenStore(CERT_STORE_PROV_SYSTEM_REGISTRY_, ..., "Root") time from 80-250ms to 5-10ms here after the registry cache was filled once and no cert was deleted on host. The full reinitialization time (on clean prefix or when a cert was deleted) stays nearly the same.
Patch 2 introduces a relatively small independent optimization (which avoids searching for certificate in store when it was needed). It has much lesser impact on the overall process (a few ms here) but is also much simplier.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2488
On Fri Mar 24 02:49:18 2023 +0000, Nikolay Sivov wrote:
> For commit message it's better to have some description message, and not
> duplicating what code actually does.
I have just updated my commit message and you can review it again.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2413#note_27721
Removing WINED3D_RS entries from state tables and moving stubs to wined3d_device_apply_stateblock.
--
v4: wined3d: Move the WINED3D_RS_ENABLEADAPTIVETESSELLATION stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_W stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_Z stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_Y stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_X stub to wined3d_device_apply_stateblock.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2469
Without this patch the process will silently die.
I managed to trigger this while trying to trace Child of Light with Renderdoc,
the latter of which crashed in its own "TargetControlServerThread".
This, confusingly, manifested in the game restarting itself without the Ubisoft
overlay; apparently the game or one of its launchers was capable of recognizing
when the process had died and restarting it, but would not try to inject the
overlay a second time. I have not investigated the cause of the crash; it is not
unlikely that it resulted from the overlay injection (despite the fact that that
should only directly affect PE code.)
--
v5: ntdll: Print an error if we receive a signal not on the signal stack.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2126
> Only if you accept that it overflows above the install button, I'm not sure that's better.
You're right, it does overflow with some of the translations.
This seems like the safest way to add it:

I checked the longest `Install theme` translation, which is Lithuanian, and it doesn't overflow:

Alternatively, the `Color` combo box could be moved to the first row like so:

Which of these would be most preferable? I'm leaning towards the second one.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2183#note_27712
This node type is intended for use during parse-time.
While we parse an indexing expression such as `a[3]`, we don't know if
it will end up as part of an expression (in which case it must be folded
into a load) or it is for the lhs of a store (in which case it must be
folded into the store's deref). This node type is used to represent these accesses and no longer rely on building an `hlsl_ir_load` for each array index or struct record access.
`hlsl_ir_index` chains are lowered into derefs when (and if) they are used to specify the lhs of an assignment. All `hlsl_ir_index`es are lowered into `hlsl_ir_load`s with a compilation pass.
The changes introduced in these series allow to solve the problem with the return variable of function calls presented in !93, and to properly support assignment to matrix indexes, which is something we are not doing correctly.
Further patches (in my [index node](https://gitlab.winehq.org/fcasas/vkd3d/-/commits/index_node) branch) add support for indexing non-load expressions, such as `(a + b)[1]` and allowing to represent resource loads through `hlsl_ir_index`, so that `hlsl_ir_resource_store`s don't have to rely on `hlsl_ir_resource_load`s.
--
v3: vkd3d-shader/hlsl: Copy index chain values into synthetic vars.
tests: Test indexing of non-loads.
vkd3d-shader/hlsl: Support column-major matrix indexing in the lhs.
vkd3d-shader/hlsl: Always load from a synthetic copy in add_load_component().
vkd3d-shader/hlsl: Remove add_load_index().
vkd3d-shader/hlsl: Use hlsl_ir_index for array and record access.
vkd3d-shader/hlsl: Introduce hlsl_ir_index.
tests: Test side effects on indexes.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/124
--
v8: winegstreamer: Implement ProcessInput and ProcessOutput for WMV decoder DMO.
winegstreamer: Create wg_transform for WMV decoder.
winegstreamer: Ignore framerate of media type for WMV decoder DMO.
winegstreamer: Add format field to wmv wg_format.
mf/tests: Test time length returned by ProcessOutput.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2258
This node type is intended for use during parse-time.
While we parse an indexing expression such as `a[3]`, we don't know if
it will end up as part of an expression (in which case it must be folded
into a load) or it is for the lhs of a store (in which case it must be
folded into the store's deref). This node type is used to represent these accesses and no longer rely on building an `hlsl_ir_load` for each array index or struct record access.
`hlsl_ir_index` chains are lowered into derefs when (and if) they are used to specify the lhs of an assignment. All `hlsl_ir_index`es are lowered into `hlsl_ir_load`s with a compilation pass.
The changes introduced in these series allow to solve the problem with the return variable of function calls presented in !93, and to properly support assignment to matrix indexes, which is something we are not doing correctly.
Further patches (in my [index node](https://gitlab.winehq.org/fcasas/vkd3d/-/commits/index_node) branch) add support for indexing non-load expressions, such as `(a + b)[1]` and allowing to represent resource loads through `hlsl_ir_index`, so that `hlsl_ir_resource_store`s don't have to rely on `hlsl_ir_resource_load`s.
--
v2: vkd3d-shader/hlsl: Support matrix indexing in the lhs.
vkd3d-shader/hlsl: Always load from a synthetic copy in add_load_component().
vkd3d-shader/hlsl: Remove add_load_index().
vkd3d-shader/hlsl: Use hlsl_ir_index for array and record access.
vkd3d-shader/hlsl: Introduce hlsl_ir_index.
tests: Test matrix indexing on the lhs.
tests: Test multiple calls to the same function in initializers.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/124
This concludes the series.
--
v2: ddraw: Reimplement SetSurfaceDesc() by recreating the wined3d texture(s).
wined3d: Pass parent ops to wined3d_rendertarget_view_set_parent().
ddraw/tests: Add some tests for creating surfaces with user memory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2480
Fixes bug [53826](https://bugs.winehq.org/show_bug.cgi?id=53826).
--
v19: ntdll: Set xattr in NtCreateFile if inferred and requested attributes don't match.
ntdll: Only infer hidden attribute from file name if xattr is not present.
ntdll: Handle hidden file names inside get_file_info instead of after it.
ntdll: Do not open-code hidden file handling in get_dir_data_entry.
ntdll/tests: Add test for file attributes of files with names beginning with a dot.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1148