Commit Graph

944 Commits

Author SHA1 Message Date
baldurk f3cae89df7 Don't treat combined image/sampler resources as samplers and discard 2017-07-28 19:06:39 +01:00
baldurk 806876c540 Add a menu item to do nothing but replay the capture in a tight loop. 2017-07-27 16:14:17 +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 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 44b74eb813 Refactor global hooking, to bring it into the C++ OS-specific code
* This way it can be used from Qt or any other UI as well.
* The pipes are created internally and just passed as stdin to the
  renderdoccmd processes instead of being named pipes.
2017-07-12 12:41:39 +01:00
baldurk 79101c7b13 Move DXBC shader friendly naming logic into C++ side code
* This makes more sense and lets us share it between Qt and C# UIs.
2017-07-05 20:37:49 +01:00
baldurk 13bf08a99e Remove disassembly from shader reflection, request it on demand 2017-07-05 16:31:44 +01:00
baldurk bdf2a68c71 Add shader's ID and entry point to the shader reflection struct
* This allows better identification of a shader from its reflection
  bundle. The entry point was already 'optionally' in the debug info
  struct which is no longer a great location for it.
* For APIs where the entry point isn't contractual and it might not be
  listed, instead we just fall back to 'main'. This means that the UI
  or anyone fetching the info can be guaranteed that some sensible entry
  point will be listed.
* Also for the debug info, remove the 'entryFile' index and instead just
  guarantee that as much as possible the entry point will be in the
  first file in the list.
2017-07-05 16:29:26 +01:00
baldurk aa34cf131b Change KeyUp to KeyDown event so we don't get false positives. Refs #674
* If we pick up on keyup, it might be a keypress from somewhere else
  (like a dialog) that was released on our control. Instead we should
  look for keydown.
2017-06-23 21:44:21 +01:00
baldurk 1dc3f65445 Handle some edge cases around samplers being lumped in with RO resources 2017-06-21 11:05:40 +01:00
baldurk 90077f54ee Make sure to skip padding registers when enumerating D3D12 bindings 2017-06-21 11:02:44 +01:00
baldurk ec8aa67ed3 Fix mismatching enums between C# and C++. Refs #665 2017-06-20 17:11:21 +01:00
baldurk abcfcfd8a4 Display resolve attachments with other framebuffer outputs in UI 2017-06-16 15:59:39 +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 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 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 922263df83 Remove unused save dialog and use the proper dialog for error message 2017-06-02 17:56:39 +01:00
Arseny Kapoulkine 8154b93e2a Use case-insensitive comparison for process filter
This makes it easier to filter processes that have upper case letters -
for example, you can now type 'calc' to filter out 'Calculator'.
2017-05-25 00:19:18 -07:00
baldurk 87ec279f1c Update some forgotten Copyright years to 2017 2017-05-19 17:28:41 +01:00
baldurk 1f5f34e16c Bump version info to v0.35 2017-05-19 17:27:00 +01:00
baldurk d1db941275 Tweak a couple of lines to refer to renderdoc.org instead of github 2017-05-19 14:24:27 +01:00
baldurk 04433f4c3a Remove search for suffix on git commit hash in C# UI
* Instead we just add a comment next to a 'false' return, and it can be
  replaced in a build script.
2017-05-19 12:51:15 +01:00
baldurk 3d20a6be1f Fix GL pipeline state viewer brokenness. Refs #617 2017-05-17 19:50:49 +01:00
baldurk b69a71c885 Don't try to set line number on disposed python shell 2017-05-17 11:57:10 +01:00
baldurk 5986f209e1 Use Formatter::Format for formatting hex numbers 2017-05-15 10:11:55 +01:00
baldurk 50a02d713d Only apply ctrl-left/right shortcut when it doesn't conflict. Refs #542
* We only apply it for non-textbox controls since there ctrl-left and
  ctrl-right move through words.
* Also only apply it while a capture is open.
2017-05-10 17:20:34 +01:00
baldurk 886d6f608b Fix case that samplers are now "IsSRV" (renamed to IsReadOnly elsewhere) 2017-05-10 17:20:33 +01:00
baldurk 6e5a744b1a Remove some CodeAnalysis lines in the csproj that were causing a warning 2017-04-27 19:47:49 +01:00
baldurk 0f8e25a103 Fix a case where descriptor bind length wasn't being checked for ~0U 2017-04-27 19:47:48 +01:00
baldurk f415681f65 Expose a function to fetch the debug overlay's texture ID 2017-04-27 15:16:34 +01:00
baldurk 9759911ffd Clamp progress value to 0.0 - 1.0 before updating progress bar
* Speculative fix for a reported crash
2017-04-26 20:47:04 +01:00
baldurk bffea4c788 Don't handle filesystem watcher callbacks once texture viewer is closed
* Fixes a reported crash
2017-04-26 20:47:04 +01:00
baldurk d406a0bf76 Fix highlighting of vertex attributes/vertex buffers on GL pipeline view 2017-04-26 20:47:04 +01:00
baldurk dd56e91885 Add --python command line to renderdocui 2017-04-25 17:10:59 +01:00
baldurk 89c3b3bb78 Remove InvocationIndex enum from C# enum, which was forgotten before 2017-04-25 15:59:58 +01:00
baldurk 5848d00091 Fix reported crash - clamp row count input to non-negative value 2017-04-21 18:43:14 +01:00
Michael Vance 3c178e2124 Add an option to enable/disable fake markers. 2017-04-20 13:14:39 +01:00
baldurk 43eb5072b4 Remove 'magic constant' use of ~0U as invalid/skip/no result.
* In python it's not as quick to get ~0U since ints aren't unsigned or
  fixed size. Adding named constants makes it easier for people to use
  the right values, and C++ users can still pass ~0U.
2017-04-18 14:57:47 +01:00
baldurk f6c045f473 Refactor public interface to be less strict C and more python friendly
* Generally this means removing ref out parameters and instead returning
  values. In a couple of cases we will want to avoid copies in future
  either by returning const references (e.g. to the pipeline state which
  is immutable).
* At the same time, some pointless bool return values that were always
  true and didn't indicate errors have been removed. They can be added
  again if an error condition comes back.
* Some free functions still have out parameters as C linkage doesn't
  allow returning user types by value.
* The C# UI still invokes into C wrappers for all the C++ classes, which
  handle taking the return value and doing a copy into an out parameter
  still for compatibility.
2017-04-18 14:57:46 +01:00
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 42b599ff70 Remove legacy ElementOffset/ElementWidth from D3D11 pipeline state 2017-04-18 14:57:38 +01:00
baldurk b7c755192c Remove no-longer used 'context' member of APIEvent structure 2017-04-18 14:57:35 +01:00
baldurk 4f21c29258 Remove unused firstEvent value, since the first event is always 1 2017-04-18 14:57:34 +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 d81f708f8c Serialised config settings list has to be public for the auto-xml-ising
* Private variables are skipped by the serialisation unfortunately.
2017-04-17 12:28:42 +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