Commit Graph

4505 Commits

Author SHA1 Message Date
baldurk bb2f3a205c Move common Qt utility functions & JSON I/O together in a single place 2016-11-09 13:23:53 +01:00
baldurk 66298ea1ce Output moc/uic/rcc directly into generated/ folder for VS to use 2016-11-09 13:12:28 +01:00
baldurk 5ecd4f9437 Hold hooking lock for a shorter time to avoid deadlocks
* In particular, we don't want to hold this lock while potentially
  calling FreeLibrary as that could try to acquire the loader lock that
  another thread might be holding while waiting on our lock.
2016-11-09 12:01:34 +01:00
baldurk 7baf53c89b Do stencil copies before depth copies, to *actually* do workaround 2016-11-08 14:11:33 +01:00
baldurk 2b2eb1b96b Workaround failed depth copies on nvidia 2016-11-08 13:38:18 +01:00
baldurk 2ef5b469ea Fix VS2015 variable shadowing warnings 2016-11-07 20:14:37 +01:00
baldurk 4304b626ad Fix clang warning, remove redundant 0 in braces-initialiser 2016-11-07 19:42:52 +01:00
baldurk 5a243c4b42 Add an implementation of QOverload to avoid depending on Qt 5.6
* Also switch travis to 5.6 so we don't add a dependency on 5.7 by
  accident.
2016-11-07 19:22:56 +01:00
baldurk bcc2eec252 Allow a back-door UUID to query for the real ID3D11InfoQueue. Refs #418
* The user is responsible for making sure they don't break anything by
  getting the real interface - ie. not querying for anything else.
  Likewise the normal ability to record debug messages will be changed
  if they add any filters or retrieve messages before RenderDoc records
  them when capturing.
* API Validation still must be enabled via RenderDoc's capture options
  before device creation, one way or another.
2016-11-07 18:14:50 +01:00
baldurk 8d0915401f Unify feature macro handling 2016-11-07 18:14:49 +01:00
baldurk f1b247fa3d Don't change filetype to PNG while trying to invoke callback 2016-11-07 18:14:48 +01:00
baldurk f260d5e2c8 Don't display 'resolve samples' option for non-resolveable formats 2016-11-07 18:14:47 +01:00
baldurk 16c96f2399 Don't print performance warnings from vulkan validation layers 2016-11-07 18:14:47 +01:00
baldurk 7eca17b28a Check if we're on the replay context during replay for backbuffer state 2016-11-07 18:14:46 +01:00
baldurk 1603493244 Use glGetProgramiv for LINK_STATUS, not glGetShaderiv 2016-11-07 18:14:46 +01:00
baldurk 65e05a3196 Add support for serialising multisampled images in vulkan. Refs #193
* This also applies to stencil even in non-multisampled images.
* Serialisation applies to both network proxying data, initial frame
  contents at the beginning of a captured frame, and saving images to
  disk.
2016-11-07 18:14:45 +01:00
baldurk 3dc767415f Catch and handle exceptions when saving constant buffers to CSV 2016-11-04 21:45:10 +01:00
baldurk 6b9cf8dc89 Update glslang to e5e58cfee34dfd6126a770b4250c14ea9340a231 2016-11-04 21:45:10 +01:00
Michael Rennie a2bdda41ef S_IWRITE is an obsolete synonym of S_IWUSR. Not available on Android. 2016-11-04 16:54:26 +01:00
baldurk 1b475e017e Remove API text from capture pane's title 2016-11-03 17:41:26 +01:00
baldurk fa466fcca5 Only print spammy unknown GUID once. 2016-11-03 17:00:04 +01:00
baldurk 1f2c45a22f Remove log message about failed connections
* This could just be an attempt to connect to see if probe to see if a
  socket is listening, so don't spam the log.
2016-11-03 16:29:38 +01:00
baldurk 503484c9c8 Make checking for process children less aggressive 2016-11-03 16:16:56 +01:00
baldurk efb47c6712 Unwrap instance/device before calling down the G*PA chain. 2016-11-03 16:16:41 +01:00
baldurk e040249398 When selecting the final swapchain present, use present target
* It was using the last bound render target, which could be empty if
  state was reset before presentation. Instead we use the copy target
  listed in the present drawcall as the actual swap buffer presented to.
2016-11-02 23:39:35 +01:00
baldurk 5a5c576a33 Allow TGA and PNG to discard/flatten alpha as desired. Refs #407
* DDS will always save the format entirely literally, and the float
  formats do not support alpha processing currently.
* TGA and PNG will either discard the alpha and write entirely opaque,
  or they'll include it in the file. Blending to colour or checkerboard
  is not supported.
2016-11-02 23:39:35 +01:00
baldurk dc96853b39 Look up constant buffers properly via shader details in D3D11. Refs #411 2016-11-02 23:39:35 +01:00
baldurk 94eb512726 Fix copy-paste confusion between offset and count. 2016-11-02 23:39:35 +01:00
baldurk 175cda5f36 Fix friendly naming of registers for proper cbuffer bindpoint handling 2016-11-02 23:39:35 +01:00
baldurk 975b67d2ce Fix float exception on processing empty bounding box for ' '. Refs #412 2016-11-02 23:39:35 +01:00
baldurk 50eaf793f1 By default hide help when specifying a custom buffer format 2016-11-02 23:39:35 +01:00
baldurk 567a236034 Allow using hex formatting strings for custom constant buffer layouts 2016-11-02 23:39:35 +01:00
baldurk c2103ed2ba Check for GLSL style square matrix formatting strings. Refs #414 2016-11-02 23:39:35 +01:00
baldurk a2979984ba Add a preview pane to the live capture with a full-res screenshot 2016-11-02 23:39:35 +01:00
baldurk f197156ee6 When an edit happens in the python shell, remove any line-number marker 2016-11-02 23:39:35 +01:00
baldurk 964a0f6b12 Make "no api" situation more explicit in live capture 2016-11-02 23:39:35 +01:00
baldurk 7e7b3d3f80 Add supporting desktop files for QRenderDoc and thumbnail handler etc 2016-11-02 23:39:35 +01:00
baldurk 5286f950ff Add processing to different formats and max size while fetching thumb 2016-11-02 23:39:35 +01:00
baldurk 57d8cfa89a Add stb_image_resize for thumbnail processing 2016-11-02 23:37:38 +01:00
baldurk 887e4d22e9 Change thumbnails to 80% JPEG quality and 2048 max width 2016-11-02 23:37:38 +01:00
baldurk 8f4a55a3b5 Set all processes under a given UI instance to log to the same file.
* Using OS-specific append writing functions instead of simple fopen/
  fwrite/fclose we can guarantee that multiple processes writing to the
  same log file won't trash or interleave their log output.
* To make the logs readable the PID is now included along with the
  project/timestamp.
* After that, we make sure that when we launch a program we set the
  output log to the same file as the parent UI. This keeps all the logs
  together and removes user confusion over which logfile is needed.
* We also move all of RenderDoc's temporary files under a RenderDoc
  folder in the temp folder, instead of scattering the files in the root
2016-11-02 23:37:38 +01:00
Baldur Karlsson aa4e4750ed Fix typo to Contributor Covenant link in README 2016-11-02 17:14:06 +01:00
Michael Rennie bcb9914665 Start remoteserver and captured packages by adb commands in native code.
Use adb to enumerate installed 3rd party packages in capture dialog.
Cleaned up all the "adb:" strcmp's.
2016-11-02 16:10:29 +01:00
Michael Rennie 8899cb8e73 If adb path is set, use adb devices to enumerate Android devices.
Process::LaunchProcess() optionally returns the child's stdout & stderr.
Added carriage return to string trim().
2016-11-02 16:10:29 +01:00
baldurk 2d7c55cbe9 Variable shadowing fixes 2016-10-31 01:20:02 +01:00
baldurk 090e4e5e9a Handle stale descriptors hanging around referencing re-used resources 2016-10-31 01:01:53 +01:00
baldurk 5890316f22 Implement DeviceContextStates from D3D11.1 as needed by D2D. Refs #402
* This should at least support the swapping of the current pipeline
  state but it probably won't support all the weird 'emulate different
  D3D versions' stuff.
2016-10-31 01:01:53 +01:00
baldurk 212467a9c5 Inherit from the correct interface to be implemented
* Without this, a cast from WrappedID3D11DeviceContext to
  ID3D11DeviceContext3 will not properly adjust the vtables so the
  returned pointer will be invalid.
2016-10-31 01:01:53 +01:00
baldurk a5e6158996 Forward QueryInterface call for ID3D11InfoQueue from context to device 2016-10-31 01:01:53 +01:00
baldurk 4dc75a69fe Return a dummy ID3D10Multithreaded to stop D2D from whining. Refs #402 2016-10-31 01:01:53 +01:00