The return length is unlikely to change between the two NtQuerySystemInformationEx calls, but it's possible, and it's more correct to parse the entries with the length from the call where the data was returned.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/316
The GetWorkItemCount implementation may look strange. It's done this way because of how WaitForAllItems is implemented. Alternative solution is to introduce separate counter for GetWorkItemCount.
--
v4: d3dx10/tests: Add D3DX10CreateThreadPump tests.
d3dx10: Add ID3DX10ThreadPump:PurgeAllItems implementation.
d3dx10: Add ID3DX10ThreadPump:GetQueueStatus implementation.
d3dx10: Add ID3DX10ThreadPump:WaitForAllItems implementation.
d3dx10: Add ID3DX10ThreadPump:ProcessDeviceWorkItems implementation.
d3dx10: Add ID3DX10ThreadPump:GetWorkItemCount implementation.
d3dx10: Add ID3DX10ThreadPump:AddWorkItem implementation.
d3dx10: Add D3DX10CreateThreadPump stub.
d3dx10/tests: Fix texture leak in check_resource_data.
https://gitlab.winehq.org/wine/wine/-/merge_requests/272
The GetWorkItemCount implementation may look strange. It's done this way because of how WaitForAllItems is implemented. Alternative solution is to introduce separate counter for GetWorkItemCount.
--
v3: d3dx10/tests: Add D3DX10CreateThreadPump tests.
d3dx10: Add ID3DX10ThreadPump:PurgeAllItems implementation.
d3dx10: Add ID3DX10ThreadPump:GetQueueStatus implementation.
d3dx10: Add ID3DX10ThreadPump:WaitForAllItems implementation.
d3dx10: Add ID3DX10ThreadPump:ProcessDeviceWorkItems implementation.
d3dx10: Add ID3DX10ThreadPump:GetWorkItemCount implementation.
d3dx10: Add ID3DX10ThreadPump:AddWorkItem implementation.
d3dx10: Add D3DX10CreateThreadPump stub.
d3dx10/tests: Fix texture leak in check_resource_data.
https://gitlab.winehq.org/wine/wine/-/merge_requests/272