Commit Graph

718 Commits

Author SHA1 Message Date
baldurk fd6fce7a78 Refactor pipeline states to expose opaque string properties as enums.
* Things like addressing modes, stencil operations, and other things the
  UI didn't need to know about previously were only exposed as string
  values to be passed through and displayed.
* Now we describe these with enums so the API can be properly
  introspected and used by consumers that might want to know the actual
  values of these states.
2017-04-18 14:57:40 +01:00
baldurk 36ed9fdc70 Remove unused rawType from SpecialFormat 2017-04-18 14:57:34 +01:00
baldurk d40fc8471d Change API enums to enum class, remove now redundant prefixing
* This gives a little nicer syntax, a bit better type safety, and also
  reflects better for SWIG bindings. Overall it's a minor change but
  better.
* We don't update the C# UI at all, since it's soon to be removed and
  not worth the effort/code churn.
* For now so we're ABI compatible with C#, all enums are uint32_t, but
  that is an obvious optimisation in future to reduce struct packing.
* We avoid 'None' as an enum value, because it's a reserved word in
  python so will cause problems generating bindings.
2017-04-18 14:57:33 +01:00
baldurk 2978755d54 On D3D11, any non-CS stage can access OM UAVs. Refs #564 2017-04-06 11:46:44 +01:00
baldurk 666aee093b Backport 'tagged' render invokes from qrenderdoc
* This is a possible fix for a case where render work triggered by mouse
  movements (such as pixel and vertex picking) can happen faster than it
  executes, leading to a backlog of render commands and a noticeable lag
  which only gets worse the more you move the mouse until everything
  seems to be unresponsive or laggy (especially if you then trigger a
  blocking command like event change, which will block the whole UI
  until the queued picks happen).
* Since a new pick coming in will override and make redundant the
  previous pick, we allow the render commands to do just that. If a new
  command comes in, we remove any previous commands with the same tag
  and put the command in the first match (this prevents a tagged invoke
  always being pushed to the back of the queue).
2017-04-03 18:31:59 +01:00
Michael Vance a74ddadd59 Improved TreeListView copy/paste support.
- Fix sorting to respect visual ordering by ID, including parent.
- Provide Ctrl-A to 'Select All'. Note that there is an extant
bug with the redraw where renderdocui will not repaint when
it gets focus back.
2017-04-03 07:18:41 -07:00
baldurk d0394d9233 Only do queued row select on the stage that was selected
* This prevents out-of-range errors when picking in a GS out view an
  expanded mesh, and getting a row that's higher than exists in the VS
  in view
2017-03-21 12:38:21 +00:00
baldurk d2d86b5726 Add 'floateleven' buffer format for R11G11B10 packed data, fix unpacking 2017-03-20 13:02:20 +00:00
baldurk bda6cf0870 Fill out default script editor contents after initialising python 2017-03-13 17:23:41 +00:00
baldurk f76a4cc339 Don't launch blocking execute call on UI thread, pop up progress ticker
* This most commonly happens launching an Android program that takes a
  while to launch, or if you're launching a program with the delay for
  debugger option set.
* Instead of the whole UI hanging, you'll get a progress dialog to
  appear while it's waiting.
2017-02-24 17:34:02 +00:00
baldurk fd0a9bee70 Copy in pythonlibs.zip as part of the build process if it exists 2017-02-22 14:53:10 +00:00
baldurk c12279f641 Fixes for multi-instance picking
* Always at least pick the current instance, even if no others are
  visible
* Only apply to VS output picking. Inputs either don't vary with inst ID
  or are trivial (all verts identical) depending on the element selected
* Respect the currently selected element instead of always picking
  the position output
* If we're selecting a different instance, we have to queue the vertex
  selection because otherwise the refreshing of rows breaks it
2017-02-20 22:16:57 +00:00
Matthäus G. Chajdas 1ba783dea6 Remove quotes from the exePath.
This solves copy/pasting a path from explorer using "Copy as path", which always adds quotes.
2017-02-08 01:51:36 +00:00
baldurk adc325ea4d Do a case-insensitive compare while looking up header file includes 2017-02-02 12:51:55 +00:00
baldurk 11db513705 Rename 'capture' button to 'launch' on CaptureDialog to clarify usage 2017-01-26 23:31:56 +00:00
baldurk 82068eeab8 Set up D3D12 pipeline state view in Qt 2017-01-25 20:13:39 +00:00
baldurk d0aec2197d Implement GL pipeline state viewer for Qt 2017-01-24 19:02:29 +00:00
baldurk 31c29c3149 Give Vulkan shader stage structs in pipeline state consistent names 2017-01-24 12:12:33 +00:00
Steve Legg 87adee1bf1 Implement multi-instance mesh picking 2017-01-20 16:12:48 +00:00
baldurk a9fb044874 Pass through texture swizzles on FBO attachments and display 2017-01-17 11:02:41 +00:00
baldurk 01c3a76625 Apply the type hint when displaying pixel values in texture viewer 2017-01-12 13:15:32 +00:00
baldurk ac47036368 Add an option to hide any markers with only "API Calls" but no draws. 2017-01-09 18:15:45 +00:00
baldurk 329ebc2d05 Don't allow the program to close while a global hook is active 2017-01-06 12:34:36 +00:00
baldurk 030cbfde9a Batch update copyright years everywhere 2017-01-06 12:13:31 +00:00
baldurk 90e068a111 Add support for VK_AMD_negative_viewport_height 2017-01-06 11:30:58 +01:00
baldurk 89b1ff2337 Export drawcall times with proper summation over regions. Refs #468 2017-01-05 11:38:00 +00:00
baldurk 45e7b64eb4 Don't apply durations twice if there's a marker next to a drawcall 2017-01-05 11:37:30 +00:00
baldurk 07fd9c8e0c Speculative fix for crash with buffer viewer being closed early.
* I received a few crash reports with a disposed buffer viewer still
  doing work. My theory is that some operation took long enough that the
  user was able to close the viewer (perhaps *because* it was taking a
  long time) and subsequent work then didn't handle the window having
  been closed.
2017-01-04 16:47:58 +00:00
baldurk 4a2e901807 Don't display pixel context right-click context menu if no log is loaded
* This fixes an uploaded crash, where this context menu could launch
  operations that crash without a capture to work on.
2017-01-04 16:45:54 +00:00
baldurk b088b21757 Allow renaming the label on captures in the connection window. Refs #476 2017-01-03 17:53:12 +00:00
baldurk 3541731817 Clarify what type of clipping the clipping overlay shows 2017-01-03 16:33:32 +00:00
baldurk 8c8cf07385 Add helper menu items to tools menu if rdocself.dll is loaded 2017-01-02 20:16:27 +00:00
baldurk 6aee676386 Open transform feedback buffers on double click from GL pipe viewer 2017-01-02 20:16:27 +00:00
baldurk 3002c00337 Add warning message if python libraries aren't loaded (mostly for devs) 2017-01-02 20:16:26 +00:00
baldurk e494f13518 Include duration column in event browser export if available. Refs #468 2017-01-02 20:16:26 +00:00
Michael Vance 366581fb3f Add 'run to sample/load/gather' and 'run to generated inf/nan'.
- ShaderDebugState now carries a 'flags' that can be updated when the interpreter is run. Currently supported flags are 'sample/load/gather insn' or 'insn generated nan/inf'.
- DXBC interpreter now pushes operation type into results for simple intrinsics. This avoids the situation where temp decls are by default uint-typed, and any arithmetic operation on float or double operands would result in a uint shader variable. Other intrinsics are largely correct because they create temporaries with appropriate typed constructors.
- Provide icons for user interface elements, based on the existing 'run to' icons with modifications by myself.
2016-12-29 17:11:55 +00:00
Michael Rennie d249faacd3 Test Android target connection for up to MaxConnectTimeout seconds.
Added new setting to SettingsDialog, and passed it to native code via
RenderDoc::Inst().GetConfigSetting("MaxConnectTimeout")
2016-12-24 19:22:10 +00:00
Arseny Kapoulkine 45d7f14b4d Inject into the process upon a double-click
A canonical UI paradigm is that when you have a dialog with a list of
items as a central element and an "Ok" action, double-clicking the item
results in the dialog confirmation.

This change adds this behavior to the Capture dialog.
2016-12-12 10:55:50 +00:00
baldurk 553a1008c8 Rename pipeline export, it's definitely not D3D11... 2016-11-30 16:07:03 +01:00
baldurk 9ddce6fe67 Remove errant background colour from some labels 2016-11-30 16:07:02 +01:00
baldurk 27bba7ae6b Revert completely broken UI from SPIR-V disassembler change
* The progress bar in commit eaa85bf1fa is
  utter nonsense, re-implemented as a progress popup.
2016-11-22 11:11:34 +01:00
baldurk 2385e67ba4 Remove some legacy code that was never enabled 2016-11-21 18:09:48 +01:00
baldurk 32c9180f82 Don't try to show find-all dialog if it's already visible 2016-11-21 16:46:31 +01:00
baldurk b1809c1949 Support HLSL custom display shaders on D3D12 2016-11-18 16:31:33 +01:00
baldurk 0c06590df3 Remove cubemap binding from D3D/HLSL texture view. Just use 2D array 2016-11-18 16:31:05 +01:00
baldurk f7e939cda9 Sort node selection from treelistview before iterating on copy-paste. 2016-11-13 13:50:40 +01:00
Michael Rennie 8e7c920ef0 Fix error MessageBox when failing to copy to remote host. 2016-11-11 20:34:04 +01:00
baldurk 01c0ec36b0 Update URLs to point to https:// 2016-11-10 16:19:16 +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