Goes atop MR 346 and 400, and therefore is a draft until they are upstream.
--
v9: vkd3d-shader/dxil: Read the DXIL input and output signatures.
vkd3d-shader/dxil: Validate the entry point info.
vkd3d-shader/dxil: Read DXIL metadata named nodes.
vkd3d-shader/dxil: Read DXIL metadata kinds.
vkd3d-shader/dxil: Read DXIL metadata values.
vkd3d-shader/dxil: Read DXIL metadata nodes.
vkd3d-shader/dxil: Read DXIL metadata strings.
vkd3d-shader/dxil: Emit an error on allocation failure in dxil_record_to_string().
vkd3d-shader/dxil: Read global constants in sm6_parser_globals_init().
vkd3d-shader/dxil: Read immediate constant arrays.
tests/shader-runner: Test shaders with dxcompiler.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/372
Goes atop MRs 346 and 372. The last five commits are of this MR.
--
v2: vkd3d-shader/dxil: Read DXIL compute shader thread group dimensions.
vkd3d-shader/dxil: Read DXIL global flags.
vkd3d-shader: Define more global flags.
vkd3d-shader/dxil: Handle multi-row signature elements.
vkd3d-shader/dxil: Handle signature element additional tag/value pairs.
vkd3d-shader/dxil: Read the DXIL input and output signatures.
vkd3d-shader/dxil: Validate the entry point info.
vkd3d-shader/dxil: Read DXIL metadata named nodes.
vkd3d-shader/dxil: Read DXIL metadata kinds.
vkd3d-shader/dxil: Read DXIL metadata values.
vkd3d-shader/dxil: Read DXIL metadata nodes.
vkd3d-shader/dxil: Read DXIL metadata strings.
vkd3d-shader/dxil: Emit an error on allocation failure in dxil_record_to_string().
vkd3d-shader/dxil: Read global constants in sm6_parser_globals_init().
vkd3d-shader/dxil: Read immediate constant arrays.
tests/shader-runner: Test shaders with dxcompiler.
tests/shader-runner: Replace immediate shader type strings with an enum.
tests/shader-runner: Do not exit if a 'require' directive is not met.
tests/shader-runner: Handle individual keywords in shader directives.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/388
Goes atop MR 346 and 400, and therefore is a draft until they are upstream.
--
v8: vkd3d-shader/dxil: Read the DXIL input and output signatures.
vkd3d-shader/dxil: Validate the entry point info.
vkd3d-shader/dxil: Read DXIL metadata named nodes.
vkd3d-shader/dxil: Read DXIL metadata kinds.
vkd3d-shader/dxil: Read DXIL metadata values.
vkd3d-shader/dxil: Read DXIL metadata nodes.
vkd3d-shader/dxil: Read DXIL metadata strings.
vkd3d-shader/dxil: Emit an error on allocation failure in dxil_record_to_string().
vkd3d-shader/dxil: Read global constants in sm6_parser_globals_init().
vkd3d-shader/dxil: Read immediate constant arrays.
tests/shader-runner: Test shaders with dxcompiler.
tests/shader-runner: Replace immediate shader type strings with an enum.
tests/shader-runner: Do not exit if a 'require' directive is not met.
tests/shader-runner: Handle individual keywords in shader directives.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/372
This goes on top of MR 345.
--
v25: tests/shader-runner: Test shaders with dxcompiler.
tests/shader-runner: Replace immediate shader type strings with an enum.
tests/shader-runner: Do not exit if a 'require' directive is not met.
tests/shader-runner: Handle individual keywords in shader directives.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/346
On Wed Oct 11 01:39:28 2023 +0000, Zhiyi Zhang wrote:
> In that case, you should implement them. For ShouldAppsUseDarkMode(),
> there is a recent MR at
> https://gitlab.winehq.org/wine/wine/-/merge_requests/3959 that
> implements ShouldSystemUseDarkMode(). I think ShouldAppsUseDarkMode() is
> similar and uses the AppsUseLightTheme registry key. For
> AllowDarkModeForWindow() and SetPreferredAppMode(), they can be
> implemented as stubs for the moment. I also came across
> https://gist.github.com/rounk-ctrl/b04e5622e30e0d62956870d5c22b7017
> which lists their usage.
It looks to me that AllowDarkModeForWindow() and SetPreferredAppMode() set window-specific properties so that dark mode can be enabled/disabled for individual windows. And ShouldAppsUseDarkMode() should consider that. For the moment, returning the AppsUseLightTheme value for ShouldAppsUseDarkMode() is probably enough.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4043#note_48281
On Wed Oct 11 01:39:28 2023 +0000, Louis Lenders wrote:
> Hi Zhiyi, it seems it's all more complicated then I thought. The tests
> failed and it seems i put the wrong function names at those ordinals.
> The thread below at Autohotkey suggests that the ordinals belong to some
> undocumented functions ShouldAppsUseDarkMode, AllowDarkModeForWindow
> and SetPreferredAppMode, apparently they can only be imported by ordinal.
> So should I now only test that they can be imported by ordinal
> (something like
> proc = GetProcAddress(uxtheme, MAKEINTRESOURCEA(func[i].ordinal));
> ok(proc, "getting function by ordinal failed"); )?
> )
> autohotkey thread: https://www.autohotkey.com/boards/viewtopic.php?t=94661&start=20
In that case, you should implement them. For ShouldAppsUseDarkMode(), there is a recent MR at https://gitlab.winehq.org/wine/wine/-/merge_requests/3959 that implements ShouldSystemUseDarkMode(). I think ShouldAppsUseDarkMode() is similar and uses the AppsUseLightTheme registry key. For AllowDarkModeForWindow() and SetPreferredAppMode(), they can be implemented as stubs for the moment. I also came across https://gist.github.com/rounk-ctrl/b04e5622e30e0d62956870d5c22b7017 which lists their usage.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4043#note_48279