8 Dec
2022
8 Dec
'22
7:35 p.m.
From patch 4/5:
Note that in the future we should call validate_static_object_references() after dce, and dce has to be able to delete resource stores and resource loads, because shaders such as this compile (at least in 10.0.10011.16384):
...
Doing this requires to move `transform_deref_paths_into_offsets` after `dce`, which implies translating `compute_liveness` and `dce` to index paths.
Well, or we do DCE more than once; there's no harm in that :-) Note also that DCE needs liveness information to remove stores. (We also can't delete resource stores in DCE, but I'm sure you knew that already.) -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/54#note_19199