Commit Graph

6749 Commits

Author SHA1 Message Date
baldurk ef788c7e4f Account correctly for UAV mip slice when fetching 2D texture data 2018-01-11 13:48:30 +00:00
baldurk 565f8e2f97 Fix circular loop when adding debug messages in D3D12 2018-01-11 13:47:43 +00:00
baldurk 8fdf2bed62 Discard debug messages after starting the frame capture
* This prevents us from serialising debug messages caused by the
  initial state preparation accidentally.
2018-01-11 13:47:43 +00:00
baldurk 8220b98601 Remove use of renderdoc.props with git commit hash where it's not needed
* This causes a full rebuild in VS because the command line has changed
  every time you commit or checkout in git (because the git commit
  /D parameter has changed).
* Since we only need it in UI-facing projects we remove it from
  every project except qrenderdoc, core renderdoc, and renderdoccmd.
  They will still rebuild when the commit changes but technically VS is
  right to do so.
2018-01-04 21:46:41 +00:00
baldurk a6f856d2d9 Fix mistaken && insteasd of & checking control key modifier 2018-01-04 21:46:41 +00:00
baldurk 0991642393 Add error message in case reading from file fails while embedding 2018-01-04 21:46:41 +00:00
baldurk 3c4d9147fb Fix potential NULL dereference if no draw is found rendering overlay 2018-01-04 21:46:41 +00:00
baldurk dec06a19fb Don't pass NULL f to fclose, passing --no-clobber if file doesn't exist 2018-01-04 21:46:41 +00:00
David McFarland 9013c1babf image_viewer: fix corruption when viewing rgba32_float images 2018-01-04 12:32:27 +01:00
michaelrgb 89eb933be5 If user resumes APK after server shutdown, restart cmdthread.
Also make sure ANativeActivity_finish/DetachCurrentThread are called.
2018-01-03 11:11:25 +01:00
David McFarland b9be6a70e3 gl: Fix initial data preparation on wrong context. 2018-01-03 11:11:17 +01:00
David McFarland c32f5902e9 gl: Avoid passing initial data pointers through the queue.
This reduces the possibility of a logic error leading to memory
corruption by using a dangling pointer.
2018-01-03 11:11:17 +01:00
David McFarland e63f696ddb gl: Delete context owned resources from resource manager.
This fixes tracking problems when a context id is reused.
2018-01-03 11:11:17 +01:00
baldurk 089b9c1ece Don't use ToQStr for converting rdcstr to QString, just cast 2018-01-02 17:19:54 +00:00
baldurk 1b50521704 Add check against empty files somehow adding to recent file lists 2018-01-02 16:06:13 +00:00
baldurk e3ead220f6 Refresh list of android hosts whenever context switcher is opened
* It's very fast, and means we update whenever a device is plugged in or
  unplugged.
2018-01-02 15:50:22 +00:00
baldurk c30511e523 For the remote server preview, display at 90% scale
* This makes it more clear that the preview is coming from renderdoc's
  replay, not the original program.
2018-01-02 15:50:21 +00:00
baldurk 6f6ee4ce01 Add workaround for Qualcomm chips where uniform buffer offsets 'leak'
* There's weird behaviour seen where after binding a descriptor set with
  an offset, subsequent work in other command buffers doesn't behave
  correctly. Re-binding the descriptor set with a 0 offset seems to fix
  it, so I assume the offset is leaking and applying to subsequent
  binds that don't have any dynamic offsets.
2018-01-02 15:50:21 +00:00
baldurk 4496e4ff32 Add alternative for rendering checkerboard with pure clears
* For some reason the checkerboard pipeline fails to create on Mali-G71
  so we fall back to just clearing with many many rects.
2018-01-02 15:18:14 +00:00
baldurk 65724841b6 Shader discard doesn't seem to work well on mobile, remove it
* Instead we write transparent black when out of bounds. This only works
  when we're blending, but the cases that we don't blend are when we do
  a blit to a precisely sized output target with no offset, so it
  shouldn't cause a problem.
2018-01-02 15:13:07 +00:00
baldurk 0ea854a9da Don't return android windowing data if we have no window 2018-01-02 14:34:34 +00:00
baldurk 7347e19d8c Add check & print of shader compile and program link status 2018-01-02 12:34:46 +00:00
baldurk 7abc319a2c Add default precision for logo fragment shader 2018-01-02 12:34:26 +00:00
baldurk 1fe04d13ec Add new posix network files to VS solution 2018-01-01 18:20:38 +00:00
baldurk e305029ddd Update copyright years to 2018 2018-01-01 17:55:29 +00:00
baldurk 96e39cb781 Add a preview window ability to remote servers. Always on for android
* On android in particular this shows some sense of what's happening on
  the device and gives user feedback that it's not completely dead.
2018-01-01 17:31:23 +00:00
baldurk 7a2305ae31 Change by-ref passed float or bool parameters to callbacks in public API
* Mostly used for passing a progress float back during a long blocking
  call like opening a capture or doing a copy.
* This is much more feasible for python to bind to.
* In several cases we just use a tiny lambda that updates a float anyway
  since we can't push the progress directly into a progress dialog, but
  need to let it query from a temporary in-between float.
2018-01-01 17:31:23 +00:00
baldurk 2e74989b69 Allow None when converting std::function types
* It just creates an empty callback
2018-01-01 17:31:22 +00:00
baldurk 4c0347f856 Fix compile errors with python bindings on callbacks with return values 2018-01-01 17:31:21 +00:00
baldurk beaa642f73 Remove bool parameter to InitResolver to cancel resolving 2018-01-01 17:31:20 +00:00
baldurk 6572cd97f5 Tidy up handling of windowing data, make it a bit more type safe 2018-01-01 17:31:19 +00:00
baldurk b8bd99a24a Add a simple preview placeholder for android
* This means that at least when nothing else is happening the remote
  server isn't completely blank and unresponsive.
2018-01-01 12:41:12 +00:00
baldurk 027a7e951b Fix copy-paste error with vkCmdDrawIndirect & vkCmdDrawIndexedIndirect 2017-12-29 18:30:46 +00:00
baldurk 31b4064702 Use ItemHelper more in rdcarray to avoid slowdown on basic types 2017-12-29 18:30:45 +00:00
baldurk a0a41024b5 We're not done capturing a frame until EndFrameCapture returns 2017-12-29 18:30:45 +00:00
baldurk 0fef1c0a44 Display richer status in capture connection window.
* This includes the capture progress bar that will appear, as well as
  better information about the active API.
2017-12-29 18:30:44 +00:00
baldurk 559656e0f6 Send capture progress over an active target control connection 2017-12-29 18:30:43 +00:00
baldurk ed98925eef Generalise progress tracking to allow multiple progress updates
* We track the progress through making a capture as well as the progress
  we already tracked loading a capture.
* Also incidentally fix a copy-paste bug that was calculating the wrong
  progress for loading captures by applying FileInitialRead instead of
  FrameEventsRead for the frame replay.
2017-12-29 18:30:40 +00:00
baldurk 332e9b70a3 Add versioning to the target control protocol 2017-12-29 18:30:38 +00:00
baldurk d14c7f3894 Track a set of active APIs instead of a single current API.
* We also let an API be active without presenting, and then note when it
  starts presenting. This lets us detect the case where an API has been
  started up and used, but isn't presenting so we're not able to capture
  it. Less confusing than telling the user no API is detected, and lets
  us direct them to the relevant documentation.
* There's also a flag indicating if the API can be captured even if it
  does present.
2017-12-29 18:30:38 +00:00
baldurk 87280c549d Don't use current driver for creating RDC, pass in driver explicitly 2017-12-29 18:30:36 +00:00
baldurk 184e5c7f8d Change RDCDriver to enum class, don't manually stringify anywhere 2017-12-29 18:30:35 +00:00
baldurk a84fb34dd6 Create GL overlay texture as GL_RGBA16F instead of GL_RGBA16
* GLES doesn't support the UNORM variant.
2017-12-28 17:55:43 +00:00
baldurk 04da4403d0 Add wireframe overlay fallback, if non-solid fill mode isn't supported
* Vulkan only for now - GLES is a complete mess.
2017-12-28 17:54:58 +00:00
baldurk 80ebac90b4 32-bit compile fix 2017-12-27 18:04:40 +00:00
michaelrgb cab3abde20 Fix typo on eglSwapInterval passthru. 2017-12-27 17:07:29 +01:00
baldurk e2d4078cfd Remove bool applyInitialState from D3D Serialise_BeginCaptureFrame
* Instead we just skip the chunk wholesale when we're doing a partial
  replay and don't want to apply it.
2017-12-27 16:05:16 +00:00
baldurk 9ca9e086b1 Add fake chunks for multi-indirect commands' data
* Currently we only have structured data for the CPU-side calls, but we
  want to display the information for the individual selectable GPU-side
  commands.
* So we add a new fake virtual chunk and insert it with data pulled from
  the GPU information, and any meta-data like the offset of that
  command.
2017-12-27 16:05:15 +00:00
baldurk db07f05f77 Add events for push/pop markers, and queue submits & cmd buf begin/end
* This means the command buffer begin/end won't just be a fake chunk
  with the queue submission API details, it will point to the actual
  begin or end chunk.
2017-12-27 16:05:15 +00:00
baldurk 6adbdf7dfe Update to 4th set of renderdoc swig changes 2017-12-27 16:05:15 +00:00