baldurk
8a5d300e78
Use custom exception for replay creation failures
2016-08-19 17:26:18 +02:00
baldurk
42f57990d9
Change remote server to have server thread & client threads
...
* This lets us respond to multiple clients (although all but one will
get a busy signal).
2016-08-19 17:26:18 +02:00
baldurk
baad227145
Add status for network remote side being busy
2016-08-19 17:26:17 +02:00
baldurk
018cbcbcc1
Add errors encountered while executing & injecting.
2016-08-19 17:26:16 +02:00
baldurk
802ccc3991
Add initial handshake for remote server
2016-08-19 17:26:15 +02:00
baldurk
699fc78d92
Reduce target control/remote server connection timeout, for faster enum
...
* On the assumption that for both of these use-cases the remote machine
isn't going to be across so terrible a network that it will take 1s or
longer to at least make the TCP connection handshake.
2016-08-19 17:26:15 +02:00
baldurk
89f0cdbfff
Add confirmation response for server shutdown packet
2016-08-19 17:26:14 +02:00
baldurk
4e73f9736e
Change SendPacket with only type to not have a payload, add recv version
2016-08-19 17:26:13 +02:00
baldurk
7af08c80ee
Ignore child processes so they don't stick around as defunct
2016-08-19 17:26:13 +02:00
baldurk
84baa6d752
Partially implemented support for capturing & opening logs in a context
2016-08-19 17:26:12 +02:00
baldurk
14c17cf5a5
Use realpath() instead of readlink() for fetching full pathnames
2016-08-19 17:26:11 +02:00
baldurk
724fef7bb6
Don't specify logfile for remote triggered captures
2016-08-19 17:26:11 +02:00
baldurk
b1fcea3c3e
When switching context, make a remote connection in the render manager
2016-08-19 17:26:10 +02:00
baldurk
5beb4eb1c9
Return proper status for failures opening captures
2016-08-19 17:26:09 +02:00
baldurk
fa0b13f2ed
Add context chooser to main window for choosing between remote servers
2016-08-19 17:26:09 +02:00
baldurk
f8b3fd3e1e
Update renderdoccmd for new remote server code, add daemonise for server
2016-08-19 17:26:08 +02:00
baldurk
4fde9b065f
Expand remote host selection for attaching to handle remote servers
...
* Also remove some of the old remote-replay single-shot code handling.
2016-08-19 17:26:07 +02:00
baldurk
8bd25559a4
Add function to shutdown remote server over connection
2016-08-19 17:26:06 +02:00
baldurk
9a544e61af
Rename ModalPopup to ProgressPopup
2016-08-19 17:26:06 +02:00
baldurk
a4b9023df5
Update C# side P/Invoke interop
2016-08-19 17:26:05 +02:00
baldurk
cc04496dd1
Remote server returns the remote path of any copied capture
2016-08-19 17:26:04 +02:00
baldurk
056d3d01ee
Add constructors from std::string/const char * to rdctype::str
2016-08-19 17:26:04 +02:00
baldurk
2bb34bffc6
Fill in the remainder of the C API for RemoteServer
2016-08-19 17:26:03 +02:00
baldurk
58ba230a56
Don't register image viewer replay driver as normal
...
* This means the image viewer doesn't show up as a possible local replay
etc. It's more of a 'magic' driver that supports things automatically.
2016-08-19 17:26:02 +02:00
baldurk
7beb3b494a
Remove remote server code from qrenderdoc until it's refactored
2016-08-19 12:23:19 +02:00
baldurk
fa335fcb7f
Add functions to remote server to execute, take ownership of a capture
...
* The former is obvious what it will be used for.
* The latter is so that when a program is executed and the UI connects
to it remotely, any temporary logs don't have to be immediately copied
to the UI machine, but instead they can just pass ownership of those
to the remote server, which can hold onto them to either copy back at
a later point, or delete them if the UI decides it doesn't want them.
2016-08-19 12:23:19 +02:00
baldurk
23da6f1e4b
Identify localhost by IP range, not by hostname
2016-08-19 12:23:19 +02:00
baldurk
aa69c2d6d2
Change remote server from being a one-shot remote replay to proper loop
...
* The remote server is intended to be long-lived and do many things, so
we keep it around and mix proxy commands with normal commands.
2016-08-19 12:23:19 +02:00
baldurk
30dcc72a68
always allow connections from localhost
2016-08-19 12:23:19 +02:00
baldurk
4e450dbfcc
Rename RemoteRenderer to RemoteServer
2016-08-19 12:23:19 +02:00
baldurk
5a6a200432
Fetch packets outside of replay proxy, so we can serve other commands
2016-08-19 12:23:19 +02:00
baldurk
45de1f2b5f
Rename remote_access.cpp to target_control.cpp
2016-08-19 12:23:19 +02:00
baldurk
481a28dc29
Rename RemoteAccess to TargetControl to better disambiguate RemoteServer
2016-08-19 12:23:19 +02:00
baldurk
4bfbcbd14d
Rename remote_replay.cpp to remote_server.cpp
2016-08-19 12:23:19 +02:00
baldurk
892004f064
Rename replay proxy and remote server packet enums, and disallow overlap
2016-08-19 12:23:19 +02:00
baldurk
5ed6ee2938
Add better error messages when failing to load images.
...
* This includes an enum for unsupported (but recognised) image formats
instead of just a generic 'file corrupted' or misleading 'API
unsupported' error.
2016-08-19 12:17:09 +02:00
baldurk
b9d44dc820
Read in byte-sized items so returned count is in bytes.
...
* Fixes EXR loading
2016-08-19 12:15:30 +02:00
Baldur Karlsson
fff93a4bcc
Remove vim dependency from COMPILE.md
...
* No longer using xxd, so no need for vim directly
2016-08-19 10:50:49 +02:00
baldurk
f2f38880f9
Remove absolute path to WiX toolset - use $WIX
2016-08-19 02:00:55 +02:00
baldurk
e5d59289da
Minor code formatting tweak, and expand details of comment for future
2016-08-18 18:30:12 +02:00
Michael Rennie
cc3cc1f392
Wait for the socket thread to finish when unloading, close the open socket.
...
The Android loader dlopens a layer twice, so if the layer did not clean up
properly the first time it is unloaded then we will fail to open a socket
on the default port 38920 during the second dlopen.
2016-08-18 18:28:27 +02:00
Michael Rennie
333d8e16b1
Display on which port we are listening for a remote access connection.
...
Knowing the port is needed for doing:
adb forward tcp:38920 tcp:38920
2016-08-18 18:28:27 +02:00
Michael Rennie
255f8cd34e
Changed AppFolderFilename on Android to fix SaveShaderCache.
2016-08-18 18:28:27 +02:00
baldurk
4c0ff83d83
Allow empty GL captures without failing
2016-08-16 18:12:22 +02:00
baldurk
f58f93d283
Remove glslang workaround for nvidia, and check on version number
...
* Also remove the file timestamp AMD check, since now AMD drivers have
version numbers that increment.
2016-08-16 17:31:43 +02:00
baldurk
757495e246
Add very small delta onto max value for histogram calculation
...
* The calculation in the shader normalises each value between min and
max, then multiplies by the number of buckets and does floor() - but
this means something precisely equal to the max will be in bucket
NUM_BUCKETS instead of NUM_BUCKETS-1 like we want. So adding on a very
small delta won't shift values particularly since we are coarsely
bucketing them, but does handle this edge case.
2016-08-16 11:05:17 +02:00
baldurk
c9b052cffe
Fix casting from non-dispatchable VkDebugReportCallbackEXT to pointer
2016-08-15 20:26:40 +02:00
baldurk
09ecb3a6b3
Don't use -Werror in release mode on non-windows builds
2016-08-15 19:56:01 +02:00
baldurk
4b3e583b16
Make sure curType is set for ARB_dsa entry point, don't rely on create.
...
* If a texture is created with glCreateTextures, we set curType at that
point. However it is valid to use a ARB_dsa texture storage function
with a texture created via glGenTextures, at which point we need to
be sure that curType is set when storage is allocated via one of
these functions.
* In valid GL, this is redundant work (since you can't retype), so we
don't check that the type is the same.
2016-08-15 19:56:01 +02:00
baldurk
8ba09a4ea2
Re-enable some warnings that no longer appear in glslang headers
2016-08-15 19:56:01 +02:00