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
Removing WINED3D_RS entries from state tables and moving stubs to wined3d_device_apply_stateblock.
--
v3: 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
On Thu Mar 23 19:32:06 2023 +0000, Brendan Shanks wrote:
> I suggested the drop-down, a future third option would be to use the
> host system's light/dark mode setting
Yeah, a check mark was what I initially went with, but there's concern about the translations. Some of them can be quite long and would likely overflow into other elements.
The text has to be explicit enough to not confuse the user, something like `Enable WinRT app dark theme`, which is quite long as it is. But in other languages, it can be even longer.
For instance, in French, this can translate to `Activer le thème sombre de l'application WinRT`. In Greek, `Ενεργοποιήστε το σκοτεινό θέμα της εφαρμογής WinRT`. The Greek translation would most likely overflow.
The check mark would need to be on its own row to prevent this issue, but there doesn't seem to be enough space to add one.
I'm open to suggestions. However, a drop-down eliminates the overflow issue altogether.
Also, some people want an option to use the host system's mode, but I don't know if this is something that Wine would support.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2183#note_27659
On Thu Mar 23 19:32:06 2023 +0000, Alexandre Julliard wrote:
> > How's this?
> >
> > Thanks for the review! :smiley:
> Actually thinking some more about this, a simple check mark may be
> better than a drop-down. It's not like there would be other possible options.
I suggested the drop-down, a future third option would be to use the host system's light/dark mode setting
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2183#note_27658