Supersedes !482.
Instead of only storing the value that each variable's component has at
the moment of the instruction currently handled by copy-prop, we store
the trace of all the historic values with their timestamps, i.e. the
instruction index on which the value was stored.
This allow us to query the value that the variable's component had at the time of a swizzle's load instead of the swizzle instead, which also preempts copy-prop from getting stuck in an infinite loop, as which the added tests.
--
v2: vkd3d-shader/hlsl: Use values at the time of the swizzle's load in copy-propagation.
vkd3d-shader/hlsl: Record trace of stored values in copy-propagation.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/487
--
v3: ws2_32: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in WSAEnumNetworkEvents().
server: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in window messages.
server: Return ERROR_CONNECTION_RESET when trying to recv() on a reset socket.
ws2_32/tests: Work around a Linux bug.
ws2_32/tests: Test send() after TCP reset.
http.sys: Keep connection sockets open after sending a 400 response.
ws2_32/tests: Test sending data to a peer which is closed.
https://gitlab.winehq.org/wine/wine/-/merge_requests/544
Supersedes !482.
Instead of only storing the value that each variable's component has at
the moment of the instruction currently handled by copy-prop, we store
the trace of all the historic values with their timestamps, i.e. the
instruction index on which the value was stored.
This allow us to query the value that the variable's component had at the time of a swizzle's load instead of the swizzle instead, which also preempts copy-prop from getting stuck in an infinite loop, as which the added tests.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/487