Commit Graph

5860 Commits

Author SHA1 Message Date
baldurk e005522152 Give better default sizing on startup to VTX/IDX columns 2017-07-25 09:22:51 +01:00
baldurk 599b6f1eaf Add manual fixup of <img> tags in richtext labels, to set to @2x version 2017-07-25 09:22:32 +01:00
baldurk 6612024f43 Fix use of PlistBuddy on subsequent recompilations of qrenderdoc on OS X
* There's an error if you add a property that's already there, so we
  instead delete it each time before adding it.
2017-07-25 09:21:14 +01:00
baldurk 434534d2e3 Release DIA2 handles when shutting down callstack resolver
* Otherwise a handle is kept open to the PDB and you can't recompile.
2017-07-25 09:11:17 +01:00
baldurk c2f08d25de Android layer is compiled as librenderdoc.so before being renamed/copied 2017-07-25 09:11:01 +01:00
baldurk d539fed918 Add support for VK_KHR_get_memory_requirements2 & dedicated_allocation
* Unverified as yet, but the former is relatively straightforward and
  not serialised, and the latter is quite similar to the NV dedicated
  allocation extension.
2017-07-21 18:52:15 +01:00
baldurk 001b6b4e92 Update to vulkan.h 1.0.55
* Drop support for now deprecated KHX sharing extensions:
  - VK_KHX_external_memory
  - VK_KHX_external_memory_capabilities
  - VK_KHX_external_memory_win32
  - VK_KHX_external_memory_fd
  - VK_KHX_external_semaphore
  - VK_KHX_external_semaphore_capabilities
  - VK_KHX_external_semaphore_win32
  - VK_KHX_external_semaphore_fd
  - VK_KHX_win32_keyed_mutex
* And add support for the KHR promoted versions (which are almost the
  same, with some minor changes).
2017-07-21 18:52:14 +01:00
Cody Northrop af896d55e6 cmake: Add variable for custom layer location 2017-07-21 10:29:46 -07:00
Cody Northrop d66afc0144 android: Add ability to check RenderDoc support, try to fix it
After selecting an application to launch on Android, inspect it to see if
it contains the RenderDoc layer and required permissions. If it does not,
display a warning similar to desktop. When clicked, if only the layer was
missing, offer to patch the APK, uninstall, and reinstall, with the
warning that it doesn't work for all applications (or at all for GLES).
Also provides pointers to how to package the layer yourself.

The process works by using the host temp directory to pull the APK and
modify it.  If the steps fail for any reason, the log is populated and
patching is halted.
2017-07-21 10:29:46 -07:00
Cody Northrop 296854da73 strings: Helper to remove pattern from the end 2017-07-21 10:29:46 -07:00
Cody Northrop cde58e7326 process: Add a path to execute scripts 2017-07-21 10:29:46 -07:00
Cody Northrop 488820e291 FileIO: Move PATH searching into its own function 2017-07-21 10:29:46 -07:00
Cody Northrop 7f0758f0ae android: Rename librenderdoc to libVkLayer_GLES_Renderdoc
This allows the library to be used as a Vulkan layer and shared
object for GLES debugging.  It was already being renamed in the
distribution scripts.  We've been renaming by hand for local
Vulkan development.
2017-07-21 10:29:46 -07:00
Cody Northrop c735a30750 os: Update LaunchProcess to consume all stdout before checking stderr
For commands that write to stdout multiple times before writing
stderr, the second ReadFile would hang indefinitely.  This was
seen using "adb pull" with a sufficiently large APK (~20MB).
2017-07-21 10:29:46 -07:00
Cody Northrop e0dfdedb24 android: Add execCommand and update adbExecCommand
This adds a convenient way to call out to commands other than adb
and see their result.  Updated adbExecCommand to use the new helper.
2017-07-21 10:29:46 -07:00
Cody Northrop 930cc2cfb0 posix: Don't modify env while getting app path
This code was inadvertently changing the working environment
of applications that called it.  Hasn't been a problem until
we started calling scripts which need PATH to remain good.
2017-07-21 10:29:46 -07:00
baldurk 1ff3da4a82 Split up C-comment in a multi-line macro that was confusing clang-format
* Every time clang-format applied to this file, it would add a new \
  on the end of the first line of the comment. Splitting it into two
  single-line C comments works around this behaviour.
2017-07-21 17:29:09 +01:00
baldurk 5b3ffcd5b1 Add --build-id link parameter on android so that symbols can be loaded
* Without this android studio/lldb can't load the symbols if the lib
  inserted in an apk has been stripped.
2017-07-21 17:24:47 +01:00
baldurk 1c75ee886c Restore single-channel selection for depth/stencil display
* Use color mask to prevent depth from being splatted out across all
  channels and writing into where 'stencil' data should be.
2017-07-21 17:21:19 +01:00
Jimmy Lee 06502e12c4 remap all depth format for gles depth fetch 2017-07-21 08:18:56 -07:00
Janos Pantos 74b343afe3 Add support for glBlendBarrier GLES core function 2017-07-20 11:22:47 -07:00
Janos Pantos 5123da2acd Add GLES 3.2 core header and its dependencies 2017-07-20 11:22:47 -07:00
Janos Pantos 6eac3dea9d Fix emulating luminance format during replay 2017-07-20 09:51:17 -07:00
Janos Pantos 5af1aa5cad Don't use glCopyImageSubData for compressed textures on GLES
It seems that it does not works for compressed textures on GLES, so
it isn't used during serialization and replay.
2017-07-20 09:51:17 -07:00
Peter Gal ca2b12be4d Export the egl* symbols via linker script
The egl symbols should be exported so applications
using it can correctly run with RenderDoc.
2017-07-20 09:50:46 -07:00
Peter Gal 681aeba443 Advertise EGL extensions via gl ext string
Advertised EGL extensions:
* EGL_KHR_create_context
* EGL_KHR_surfaceless_context
2017-07-20 09:50:29 -07:00
Janos Pantos a8840c6728 Add support for GL_EXT_discard_framebuffer extension 2017-07-18 09:50:51 -07:00
Janos Pantos 94efd7bf0c Add support for some GLES extensions
* GL_OES_depth24
* GL_OES_depth32
* GL_OES_depth_texture
* GL_OES_depth_texture_cube_map
* GL_OES_fbo_render_mipmap
* GL_OES_packed_depth_stencil
* GL_OES_texture_3D
* GL_OES_texture_npot
* GL_OES_vertex_half_float
2017-07-18 09:50:51 -07:00
baldurk 6ad59c94a3 Don't use linker script on apple 2017-07-17 17:21:04 +01:00
baldurk 389cff23f3 Add linker version script to explicitly expose symbols. Refs #683
* When statically linking libstdc++ by default the symbols are all
  default visibility. This causes a problem if you statically link an
  old libstdc++ then inject librenderdoc.so, and the application starts
  using the old libstdc++ instead of the system's.
* Really we only want to use the static one for calls from
  librenderdoc.so. In theory -Wl,--exclude-libs,libstdc++ should do this
  for us, but it starts to cause bizarre crashes.
* Instead, we have to resort to a manual linker script which whitelists
  which symbols should be visible. Normally we can do this just for our
  own symbols with -fvisibility=hidden and __attribute__((visibility))
  but that doesn't work for linked symbols apparently.
2017-07-17 16:34:13 +01:00
baldurk 2f6dffffc5 Expose camera class properly, drop Camera_* entry points from Qt UI 2017-07-17 16:34:12 +01:00
baldurk 515c933545 Rename Maths_* and Topology_* to make RENDERDOC_ a consistent prefix
* This will make it easier for a linker script on linux
2017-07-17 15:14:15 +01:00
baldurk 4a8702f66e Fix some cases where drawcall previous/next pointers wouldn't be set up 2017-07-17 12:46:43 +01:00
baldurk a11a00a7b5 Make sure Qt objects are deleted on the Qt main thread 2017-07-17 12:36:20 +01:00
baldurk 41092e869f Allow clicking 'next draw' from the frame start marker at EID 0 2017-07-17 12:36:04 +01:00
baldurk 8adde662fd Save target of clear calls that don't clear currently bound targets
* This prevents the UI from showing confusing results when the currently
  bound state doesn't match what's being cleared.
2017-07-17 11:33:50 +01:00
baldurk 1676f2698e Disable previous/next buttons when there's no previous/next drawcall 2017-07-17 11:30:31 +01:00
baldurk 4532d04b5b Remove stale documentation about python scripting 2017-07-14 22:44:20 +01:00
baldurk 76cfcd5601 Highlight resources/history from other parts of the UI in timeline bar 2017-07-14 19:57:14 +01:00
baldurk 9ea8ed229d Add usage/history highlighting 2017-07-14 19:56:56 +01:00
baldurk 0ecf9ee8fb Add marker regions and drawcalls to the display 2017-07-14 18:44:19 +01:00
baldurk acae04af02 Expose getLuminance for QColor 2017-07-14 17:17:54 +01:00
baldurk 0aad2e9c03 Tweak hover label a bit - remove it on leave and don't clip both sides 2017-07-14 13:09:03 +01:00
baldurk 57bdd0495b Add labels on hover and current event, and jump to event on click 2017-07-14 12:56:10 +01:00
baldurk 50ca57aaaa Add quoting necessary to build qrenderdoc in path with spaces or dashes
* The paths need to be quoted so that spaces don't expand to multiple
  arguments.
2017-07-13 19:03:40 +01:00
baldurk 9e8bb36008 Compile fix - keep headers separate so clang-format doesn't re-sort them 2017-07-13 18:45:25 +01:00
baldurk d3d1bcd136 Add work in progress timeline bar
* Has an EID scale bar along the top, and simple zoom/pan, but nothing
  else.
2017-07-13 18:44:41 +01:00
baldurk df9f72b857 Add option to ignore icon size when sizing rows in a RDTreeView 2017-07-13 13:57:33 +01:00
baldurk b254cd7ac1 Fix crash with NULL drawcall 2017-07-13 13:57:09 +01:00
baldurk 5f94f4a71b Add <QDebug> include file 2017-07-12 23:36:46 +01:00