Revert "[c-host] make pointer post function thread safe"
This reverts commit 3feed7ba074059bf8987470c822b5e1feeef3ee4.
Revert "[c-hots] fix incorrect unlock timing"
This reverts commit 57f1f2d1fe350dd7defd5a8ca655216f65441a95.
Revert "[c-host] increase the queue length and remove debug output"
This reverts commit b0f9f15a6083d726acb6ae5f158c316bbdc5fbd7.
Revert "[c-host] dxgi: use low level mouse input by default"
This reverts commit dc4d820666e396a7e8daccd9014aabe3159fc151.
Revert "[c-host] nvfbc: no need for a cursor position event with LGMP"
This reverts commit e30b54ddb2fd7e0ec6ba50bf5dbe325d97fbc220.
This changes the method of the memory copy from the host application to
the guest. Instead of performing a full copy from the capture device
into shared memory, and then flagging the new frame, we instead set a
write pointer, flag the client that there is a new frame and then copy
in chunks of 1024 bytes until the entire frame is copied. The client
upon seeing the new frame flag begins to poll at high frequency the
write pointer and upon each update copies as much as it can into the
texture.
This should improve latency but also slightly increase CPU usage on the
client due to the high frequency polling.