baldurk
ec7b2807d0
Build each architecture into its own APK
...
* This means we can have all the architectures we care about installed,
and load the right library regardless of what the app does.
2018-01-26 21:19:16 +00:00
baldurk
077402bf11
Add failsafe so we don't wait the whole timeout if an apk closes/crashes
2018-01-26 21:19:15 +00:00
baldurk
79f3f54b84
Add a spinner progress bar while running remote server command
2018-01-26 21:19:15 +00:00
baldurk
cb34a2daea
Revamp android patching to only check for (& change) the debuggable flag
...
* We don't consider anything else, this includes permissions or the
library being present. Since we no longer expect to patch in the
library we also don't check its version (however we leave the tag in
case it is useful in the future).
* If the user has root access we will never warn, assuming the injection
will work fine even without the debuggable flag.
2018-01-26 21:19:14 +00:00
baldurk
a019797f88
Move vulkan layer name and android library filename to global defines
2018-01-26 21:19:13 +00:00
baldurk
047bff7261
Add an new android hooking method using JDWP to inject & PLT hooks
...
* This is based on the GAPID method of injection, using the same steps
to connect with JDWP and debug the application, breakpointing on key
init-time steps to patch vulkan layer search paths and load libraries
from our installed apk.
* We diverge by then using PLT hooks instead of trampolines to hook the
EGL/GL calls - and so we also hook dlopen.
* This should work on any debuggable application - not currently checked
but does not replace/break any of the previous injection, which can
still work.
2018-01-26 21:19:13 +00:00
baldurk
ec71b05173
Split out android patching code into separate file
2018-01-26 16:30:47 +00:00
baldurk
5527c57e68
Split out some miscellaneous utility functions
...
* We also wrap up and cache the fetching of friendly names by serial
number to avoid some adb traffic.
2018-01-26 16:30:16 +00:00
baldurk
1be3e8bfac
Split out handling of android tools: locating&precedence, executing, etc
2018-01-26 16:24:54 +00:00
baldurk
ae7300e524
Move android files to separate subfolder
2018-01-26 15:49:09 +00:00
baldurk
b22f93f458
Avoid remote server timing out if starting android packages.
...
* Android::StartAndroidPackageForCapture can take a long time, and we
want to preserve the connection, so we spin up a temporary thread to
continually Ping().
2018-01-26 15:42:15 +00:00
baldurk
643db8042b
Tweak live capture again - feels more natural with buttons on the right
2018-01-26 15:33:18 +00:00
baldurk
24db8dbffc
Add an 'internal' flag when launching processes, to reduce log spam
2018-01-26 15:33:17 +00:00
baldurk
ddb8e76add
Add EndianSwap function using platform intrinsics
2018-01-26 15:33:17 +00:00
baldurk
6614c37440
fix compilation on linux/android
2018-01-26 00:55:36 +00:00
baldurk
9c247a87ae
Fix check that was precisely backwards. Caught by unit tests!
2018-01-26 00:06:53 +00:00
baldurk
64dd86c332
Don't set Vulkan as active API when we're calling D3D12...
2018-01-25 19:47:42 +00:00
baldurk
503fd1a858
Adjust padding in LiveCapture dialog
2018-01-25 18:55:54 +00:00
baldurk
b17790e5c2
Batch vulkan initial state related allocations together
...
* We allocate chunks of 32MB - 256MB then suballocate as needed.
2018-01-25 18:18:47 +00:00
baldurk
d452230782
Refactor resource manager initial content data to be driver-specific
...
* This allows more flexible construction of what params/resources need
to be saved with initial contents data, as well as allowing better
type safety where possible by using driver-specific types for the
stored data.
* Especially it tidies up the ugly 'all data that tags along must be
a written into a single allocated byte pointer'.
* The initial content struct is responsible for destroying itself and
freeing any data.
2018-01-25 15:30:20 +00:00
baldurk
6fdc2a011c
Don't query status of non-existant shader with glCreateShaderProgramv
...
* In glCreateShaderProgramv there is no shader object, so we pass 0, so
we just treat this as implicitly successfully compiled.
2018-01-25 15:24:40 +00:00
baldurk
736d991d6a
Pass configuration parameters to ResourceManager in struct
...
* Otherwise adding new parameters becomes impractical
2018-01-25 11:30:25 +00:00
baldurk
0268ba8b66
Don't read from char[] string in writing mode
2018-01-25 10:48:56 +00:00
baldurk
ad841a0341
Add a limit for warning on unknown GUID QueryInterface calls
2018-01-25 10:36:16 +00:00
baldurk
fb0772b828
Android internal compiler error fix
2018-01-25 10:09:05 +00:00
baldurk
8d265284ee
Add some python valgrind suppressions
2018-01-24 22:52:31 +00:00
baldurk
a159af9cfe
Fix overrunning vector bounds if vertex attributes use high locations
2018-01-24 22:52:25 +00:00
baldurk
77f767394b
Remove invariant decorations in vulkan PostVS vertex->compute transform
2018-01-24 18:44:26 +00:00
baldurk
904511afb0
Support composite types on vertex shader inputs, in vulkan PostVS fetch
2018-01-24 18:44:15 +00:00
baldurk
7636d370f4
Don't give patched entry point a debug name, as it breaks amdvlk
2018-01-24 17:12:23 +00:00
baldurk
158dff0287
Remove test code, committed by accident.
2018-01-24 16:15:49 +00:00
baldurk
8f405a2197
Render mesh data with instanced properties correctly.
2018-01-24 16:14:22 +00:00
baldurk
f05cfe9454
Fix mesh picking in cases with index/vertex offsets
2018-01-24 15:45:46 +00:00
baldurk
d286453bff
Add marker region around pick vertex
2018-01-24 12:39:40 +00:00
baldurk
f0c6323685
Don't update buffer viewer display if we just mousemove without clicking
2018-01-24 12:38:28 +00:00
baldurk
94f8cf94e3
Check iterator validity before dereferencing it
2018-01-24 11:42:30 +00:00
baldurk
5150a9531b
Allow queuing a sequence of frames both before capture, or while running
...
* We also make the frame counting consistent: Frame 0 is the frame from
device initialisation to first present, Frame 1 is from first present
to second, and so on after that.
2018-01-24 11:38:37 +00:00
baldurk
8c25630369
Update ToolWindowManager to 611fd60c82e7501750226b4de39d108047c98445
2018-01-24 11:37:05 +00:00
baldurk
64c901776e
Fix for GCC7 case fall-through warning
2018-01-24 10:46:37 +00:00
baldurk
ec1e5dd687
Fix some copy-pasted error messages
2018-01-24 10:46:12 +00:00
baldurk
a85ed4c548
Fix implementation of firstbit_(s)hi - thanks to Scott Kircher
...
* firstbit_hi counts MSB as index 0, BitScanReverse counts LSB as 0.
2018-01-22 20:37:24 +00:00
baldurk
91dbfc4cc6
Ensure we tidy up progress ticker and callback even if replay fails
2018-01-22 20:04:17 +00:00
baldurk
92808efc93
If the preview window becomes available later, then init it later
...
* E.g. on android this can happen if we started the replay while the
replay apk wasn't in the foreground, but then it gets raised later.
2018-01-22 20:04:17 +00:00
baldurk
4ee17543de
Create parent folder for any captures created.
2018-01-22 20:04:17 +00:00
baldurk
6fe179bea3
Only join a previous command thread and restart if it has exited
...
* APP_CMD_INIT_WINDOW can be called when the application hasn't fully
shutdown, and the thread is still running. Hold a lock while we're
inside renderdoccmd() so that we know if the thread has exited or not.
* This would be easier if android had pthread_tryjoin_np()...
2018-01-22 20:04:17 +00:00
baldurk
e0aedf1f5b
While we don't have proper DPI checking, double overlay size on android
2018-01-22 20:04:17 +00:00
baldurk
f0015f4b77
Add gl_library_egl.* to VS project
2018-01-22 20:04:17 +00:00
Jimmy Lee
579386dddb
gearvr crash fix and mip level fix for gearvr swapchain
2018-01-22 20:03:55 +00:00
baldurk
f46aa2944d
Add #includes to fix linux compilation
2018-01-20 10:17:22 +00:00
baldurk
33b3176cd4
Rewrite the analytics intro text to be less of a wall of text
...
* Also add a preview of what data will be included in any report, both
in the intro and in the confirmation before sending any report.
2018-01-19 16:33:45 +00:00