Commit Graph

5711 Commits

Author SHA1 Message Date
baldurk a998de110d Only re-hook all modules after LoadLibrary if the library loaded
* This fixes a problem where if some code is repeatedly doing
  LoadLibrary for a library that doesn't exist, we'll constantly re-hook
  everything pointlessly.
2017-06-19 16:17:19 +01:00
Michael Rennie f2b2c6c5b9 Fix reading back index buffer to determine client vertex range. 2017-06-19 08:15:09 -07:00
baldurk 6c348c65c2 Fix clang formatting error that somehow snuck in 2017-06-17 01:11:33 +01:00
baldurk 5fc90f7a08 Fix menus not showing up on some user configurations
* Menus aren't guaranteed to pass isVisible() immediately after calling
  popup() on them, so we need to wait for their aboutToHide signal to
  stop the event loop.
2017-06-16 23:31:05 +01:00
baldurk efe105a203 Remove TODO for implemented feature 2017-06-16 23:07:50 +01:00
baldurk af28e971ba Add documentation for newly added enums 2017-06-16 23:04:28 +01:00
baldurk abcfcfd8a4 Display resolve attachments with other framebuffer outputs in UI 2017-06-16 15:59:39 +01:00
baldurk 0f2f359eef Don't count resolve attachments, when looking at color load/store ops 2017-06-16 15:50:10 +01:00
Janos Pantos 6032589484 Handle client memory VAOs at glDrawArraysInstancedBaseInstance wrapper
The other glDraw* functions already handle client VAOs (except the
glDraw*Indirect ones which do not support it at all).
2017-06-15 08:09:04 -07:00
Janos Pantos 3021d25190 Fix unmapping element array buffer at CopyClientMemoryArrays 2017-06-15 08:09:04 -07:00
Janos Pantos 4242eb6b96 Sort supported GLES extensions alphabetically 2017-06-15 07:18:43 -07:00
Janos Pantos 335aa03920 Add support for GL_EXT_base_instance 2017-06-15 07:18:43 -07:00
Janos Pantos a0c68e6dc6 Add GL_KHR_blend_equation_advanced to supported GLES extensions 2017-06-15 07:18:43 -07:00
Janos Pantos 818f7223d3 Add support for GL_OES_texture_storage_multisample_2d_array 2017-06-15 07:18:43 -07:00
Janos Pantos 4a3a0964d0 Add support for GL_EXT_texture_border_clamp and GL_OES_texture_border_clamp 2017-06-15 07:18:43 -07:00
baldurk 0516016070 Follow-up commit to b7f893b5 with minor fixes/tweaks
* Moved the AMD project under an IHV folder
* Moved the AMD headers from the D3D11 project to the AMD project, and
  added the GPUPerfAPI headers there too.
* Set the counterID inside the CounterDescription for AMD counters
* Add an extra search path for the GPUPerfAPI dlls, which will be inside
  distributed builds soon.
2017-06-15 14:59:16 +01:00
Matthäus G. Chajdas b7f893b559 Add backend support for AMD performance counters. 2017-06-15 14:29:55 +01:00
baldurk e0104e8fe0 Allow configured adb path to be empty, look for adb in shipped path
* On windows we ship adb.exe under android/ so that there's no configure
  needed. Look for that file if there isn't an override path.
2017-06-15 05:28:07 -07:00
baldurk 6423a82d18 Add support for multiple connected android devices
* We forward a different range of ports to each device so we can pick
  and choose which to communicate with based on its index.
* The index is encoded in the 'hostname' like so: adb:X:deviceidhere
* Whenever we want to interact with an android device we always specify
  the device, never leave it to a default.
2017-06-15 05:28:07 -07:00
baldurk 06b5b300c3 When enumerating adb devices, reuse old hosts where possible.
* This fixes a crash where an enumeration from application startup is
  still going when opening the remote manager dialog, and then all the
  android hosts that are being enumerated get deleted while it's still
  going.
2017-06-15 05:28:07 -07:00
baldurk c76b8298f8 Use adb getprop to give adb devices friendly names
* This means you'll see "Google Pixel XL" or "samsung SM-G900F" instead
  of "HT74T0200775" or "9a9502c6"
2017-06-15 05:28:07 -07:00
baldurk 02a7d8d50c Remove confusing duplicated logic in remote manager
* Instead of having button enabling and so on logic in both
  on_hostname_textEdited and on_hosts_itemClicked, just handle the
  hostname edit as selection or unselecting any matching item, and then
  process all the logic whenever the selection changes.
2017-06-15 05:28:07 -07:00
baldurk 1ffe0b634b Fix deleting hosts from remote manager
* Checking for a NULL parent item doesn't work, the parent will be the
  invisible root item.
* Also make sure we don't delete a host that might have enumerations
  still going for it.
2017-06-15 05:28:07 -07:00
baldurk e4eb6a1fc8 Add documentation for new function 2017-06-15 05:28:07 -07:00
baldurk fb87f68b19 Build android apk inside build folder, not in source tree
* This means multiple builds don't cross-contaminate, and removing the
  build folder will clean everything up again.
2017-06-15 05:28:07 -07:00
baldurk 238493a178 Give the Android remote server a nicer title, and an icon 2017-06-15 05:28:07 -07:00
Michael Rennie 70f55a1458 Start/Shutdown Android server from RemoteManager dialog.
ANativeActivity_finish when renderdoccmd() returns.
2017-06-14 05:03:46 -07:00
Michael Rennie 53c0c20c8a Prevent connection to server until Android permissions granted.
Server pops up dialog requesting file system access when the server is
launched. This is only obvious when the device is unlocked, otherwise this
pop up is never displayed.

Fixed by waiting for the user to grant permissions by preventing starting
a target app until the server is ready to open captures.
2017-06-14 05:03:46 -07:00
baldurk 81610d5e05 Add missing increment when retrying capture filenames. Thanks @remage! 2017-06-14 11:47:40 +01:00
baldurk f4fedc295f Handle descriptor set layout compatibility and sets becoming invalidated
* The example case is as follows:
  - program binds a pipeline and 4 sets
  - later, program rebinds a different pipeline with incompatible layout
  - all 4 sets are invalid
  - program only binds 2 sets as new program shaders only statically use
    the first 2 sets.
* If we try to 'restore' the invalid set bindings at any point this is
  invalid and can lead to crashes. We need to detect when sets have been
  invalidated and bail out, assuming that the shader only statically
  uses the sets that were valid.
* Of course if that is an unfounded assumption then we are not binding
  sets that will be used, but this is just as invalid as leaving used
  sets as invalid.
* We also need to change the PostVS data fetch, since we can't use the
  set after all used sets, we have to instead see which set is the last
  statically used one and use the next (even if it's in the original
  layout).
2017-06-14 11:24:39 +01:00
baldurk cb8e28df10 Pass stderr pipe to child process when capturing stderr output on win32 2017-06-14 10:06:53 +01:00
baldurk 4c78c76341 Don't look at IP to see if a connection is local
* This fixes an edge case where we are connecting to a local IP that is
  SSH port forwarded to a remote machine. We don't want to identify
  remote files as local files and try to open them, so just do the easy
  check of verifying if the file is available locally.
2017-06-13 18:45:40 +01:00
baldurk f291be452f Verify that DXGI optional pointers exist before wrapping. Refs #652
* For example in ::GetFullscreenState() the target pointer itself can be
  NULL as well as the pointed-to-pointer being NULL.
2017-06-13 18:27:50 +01:00
baldurk d515c69a9f Remove alternating row colors in most places.
* This was only added because the default tree widget controls don't
  render any grid lines. Now that we're custom drawing them, the row
  colors are distracting and can be confusing on themes where the
  selected row is very faint.
2017-06-13 18:19:02 +01:00
baldurk b83092541b Update toolwindowmanager to a37c60f 2017-06-13 18:14:19 +01:00
baldurk d19ba7eadc Make sure temporary logs opened from the command line are cleaned up 2017-06-13 18:13:31 +01:00
baldurk f81876335f Emit click events after processing parent widget
* This means that e.g. right clicking on an item in a list/tree widget
  will make sure it's selected before trying to display a context menu
  or anything.
2017-06-13 18:13:11 +01:00
baldurk 3ba62df061 If just clicking on the plain open button (not menu), open the capture 2017-06-13 18:11:43 +01:00
baldurk 9f20414c2f Don't try to save/restore buffer data as if it were a texture. Refs #636 2017-06-13 18:02:22 +01:00
baldurk e6b7b67933 Don't trample over captures if there are multiple in a frame. Refs #645 2017-06-13 17:49:38 +01:00
baldurk ac3596aa6f Add config settings to renderdocui to avoid extremely dubious redirect
* IronPython >= 2.7.5, if installed, adds a *global* redirect so all
  programs (like renderdoc) that tried to reference the 2.7.4 they
  provided will instead get redirected to 2.7.5. Whether or not it even
  exists.
2017-06-13 14:56:40 +01:00
baldurk def80ac8da Only build qt.conf on windows, it breaks linux platform plugin search :( 2017-06-13 14:56:40 +01:00
baldurk d6d93a7734 Keep margins consistent between tabs in the settings window 2017-06-13 14:56:40 +01:00
baldurk c1fb2bb020 Add editing/renaming and delete key to live connection window 2017-06-13 14:56:40 +01:00
baldurk b59f03c198 Make sure to pass object parent along
* Missing parents will cause automatic slots not to be connected, which
  was breaking the remote host manager.
2017-06-13 14:56:40 +01:00
baldurk 25f18defd4 Use a qt.conf to point plugins at qtplugins/ in the application path.
* We can point the platform plugins path at the application dir for
  qwindows.dll for example, but there's no equivalent for image format
  plugins which we need for qsvg.dll. So instead we shove them all under
  an explicit qtplugins path.
* Also now that we have this, copy qsvg.dll into the distribution.
2017-06-13 14:56:40 +01:00
baldurk 13e9096f94 Decode JPG capture thumbnails to raw bytes before passing to the UI
* This removes the need to have JPG decode in qt.
2017-06-13 14:56:40 +01:00
baldurk f9c9adedf3 Use logo.svg instead of icon.ico in qrenderdoc
* This means we don't need to distribute the ico reading qt plugin
2017-06-13 14:56:40 +01:00
baldurk 50af5eda1c Skip copying obj directory in dist script
* The folder is >1GB easily per arch and we delete it right afterwards.
2017-06-13 14:56:40 +01:00
Józef Kucia db0cf0574c Fix check for python-config. Refs #647
Fixes fa1b098cc4.
2017-06-13 06:44:13 -07:00