Commit Graph

780 Commits

Author SHA1 Message Date
baldurk b4ec703d97 Expose shader printf messages in the UI 2021-05-11 16:15:31 +01:00
baldurk c6c133bdd0 Add icons for texture viewer pixel history/debug buttons 2021-05-11 16:15:31 +01:00
baldurk 4eb2621bca Fetch shader messages from DebugPrintf 2021-05-11 16:15:31 +01:00
baldurk 2ea6d83b60 Handle new DXBC system-value semantics 2021-04-29 13:05:10 +01:00
Jake Turner da660cd025 Removed redundant RENDERDOC_PLATFORM_APPLE code 2021-04-26 21:58:13 +01:00
baldurk 12d9b4f850 Add copy icon to treeview context menu 2021-04-19 15:30:19 +01:00
baldurk eac94b74f6 Allow cbuffer previewer to apply custom format to non-buffer-backed CBs
* This in particular means push constants and specialization constants on vulkan
  but also applies to root-value cbuffers on D3D12.
* GL bare uniforms are not feasible to expose in this way.
2021-04-14 18:59:12 +01:00
baldurk 95e6a4a971 Respect font scale for fixed-width fonts 2021-04-12 13:04:02 +01:00
baldurk 44db412b8d Speculative workaround for QWidgetPrivate::subtractOpaqueSiblings crash 2021-03-22 18:37:10 +00:00
Dean Ellis 88cb0615d0 Add Support for building the Python API against Python 3.9 2021-03-22 18:22:17 +00:00
Jake Turner faa9dbf709 Enable pyrenderdoc for Apple
It was previously marked as disabled for Apple
Required to build the python modules which are used by the testing framework
Python imports .so libraries by default, change the shared library extension to .so for python modules on Apple
2021-03-14 11:17:31 +00:00
Jake Turner 769fade4cf Fixed small typo "htat" -> "that" 2021-03-14 11:17:31 +00:00
baldurk 9290ed926b Display VRS state in D3D12 pipeline state viewer 2021-02-10 14:20:46 +00:00
baldurk 4c3cf74f18 Don't linkify any @123 EID text that is followed by an x
* This isn't something we generally want to support (@123 should be a separate
  word) and it can come up with shader names like `shader@0x12345` as well as
  with icon@2x.png
2021-02-08 14:05:04 +00:00
baldurk 15cbeef054 Fix offset calculation with declaring nested buffers in format string
* When calculating the size for a struct member we need to properly recurse
2021-02-08 14:05:04 +00:00
baldurk 76fabedbe6 Fix false positive matching @EID on text containing foo@2x.png 2021-01-28 12:01:37 +00:00
baldurk f460d79968 Check for @ when initialising rich resource text
* This is used for event linking
2021-01-27 16:05:04 +00:00
baldurk 506f941a14 Don't set invalid size as minimum size on labels, set 0,0 2021-01-27 16:05:03 +00:00
baldurk 4d16c3e44c Add function to close top level windows to MiniQtHelper 2021-01-27 16:05:03 +00:00
baldurk dae98c3547 Remove memset of struct that's no longer POD 2021-01-22 14:57:35 +00:00
baldurk a4fd53af8f Fix a crash if capture viewers are changed while processing SetEvent
* This could happen in particular now that thumbnails are capture viewers.
2021-01-21 11:28:23 +00:00
baldurk 2070e74cf1 Restore image auto-update on change feature
* This was apparently never ported over to Qt!
2021-01-18 13:22:36 +00:00
baldurk ee5d3f5837 Compile fix for linux 2021-01-15 19:32:41 +00:00
baldurk 1ce0958398 Add helper for setting images in labels 2021-01-15 12:36:14 +00:00
baldurk 026da176bb Update copyright years to 2021 2021-01-13 13:56:10 +00:00
baldurk fbb17becf9 Only display base filename in loading progress dialog, not whole path 2021-01-13 12:50:34 +00:00
baldurk b0f07dfee4 Fix some style issues with new Qt versions 2021-01-08 15:39:02 +00:00
baldurk 0e60918e4d Combine/ignore the same usage from the same event
* This can happen if the same resource is used in a barrier more than once (e.g.
  multiple subresources)
2021-01-06 16:58:43 +00:00
Aliya Pazylbekova c1ecd9d375 Some GGP modifications
qrenderdoc/Code/CaptureContext.cpp
- Adds GGP windowing system

renderdoc/driver/ihv/amd/amd_counters.cpp
- Enables AMD counters

renderdoc/driver/vulkan/vk_serialise.cpp
- Handling VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP in pNext
for vkQueuePresentKHR

renderdoc/os/posix/ggp/ggp_callstack.cpp
- Check that the file was opened
2020-12-25 10:32:22 +00:00
baldurk fd1b051d2c Add helper for selecting sample mask, which varies in location by API 2020-12-18 14:05:54 +00:00
baldurk 674d11fdda Use RichResourceText system to linkify EID links with format @123 2020-12-18 13:42:04 +00:00
baldurk 539ea53b3c Fix python reference in docstring 2020-12-16 00:27:41 +00:00
baldurk 3aaccc4fda Use rdcfixedarray in parameters for functions instead of C arrays
* This maps better to tuples in python
2020-12-15 22:52:38 +00:00
baldurk 2b0f9c2eba Use richtext representation for ResourceId when converting to string 2020-12-15 22:52:38 +00:00
baldurk d727feb806 Improve handling of multiline richresourcetext documents 2020-12-15 22:52:38 +00:00
baldurk 143f66478a Support converting an rdcarray pointer to rdcarray
* This means if there's no intervening list() it still works, e.g. passing an
  rdcarray property to a function paramater that expects an rdcarray in python.
2020-12-15 22:52:38 +00:00
baldurk 0163328884 Fix error messages not being printed from async python callbacks 2020-12-15 22:52:38 +00:00
baldurk 4bc795c344 Fix DumpObject to work with lists 2020-12-15 22:52:38 +00:00
baldurk f32008e95f Add access for changing the 3D preview stage in mesh viewer 2020-12-15 22:52:37 +00:00
baldurk afc9fc8f1e Fix verify-docstrings.py 2020-12-09 23:27:42 +00:00
baldurk 9d1673f5a4 Fix formatting in new docstrings 2020-12-09 22:55:48 +00:00
baldurk 466eecde1d Remove raw strings from persistant config settings
* This seems to break on GCC 5 unfortunately, and is certainly a bit of an edge
  case.
2020-12-09 22:19:36 +00:00
baldurk 7ff7e0a71d Replace fixed C arrays with wrapper class in public interface
* These map more naturally to python tuples and are easier to wrap in and out.
* We also tidy up the FloatVecVal etc and standardise the members of
  ShaderValue.
2020-12-09 18:16:08 +00:00
baldurk 580f96c8a1 Rename ShaderVariableType/Descriptor to ShaderConstant
* These structs are no longer used with ShaderVariable so the name is misleading
  at best.
2020-12-09 15:18:27 +00:00
baldurk 659fdaa235 Check that all complex struct members that have :type: in docstrings
* Ideally we'd document every member unconditionally for best autocompletion,
  but that's a lot of modification so for now we stick to just making sure that
  any members that are struct types (or lists/tuples) have the :type:
  declaration so that we can autocomplete inside them.
2020-12-09 15:18:27 +00:00
baldurk 6b8ce92d88 Clean up docstrings in python interfaces to be strictly typed/formatted
* Also added a script that can run as part of CI to verify that the docstring
  matches, by generating a regex from the docstring documented parameter types
  and return type and making sure we find a match within the C headers. This
  ensures all parameters are documented with the right types, no extra
  parameters are documented, and the return type is correct.
* The script also checks proper scoping so that if qrenderdoc docstrings
  mention a renderdoc type, they need to scope it properly.
2020-12-07 17:44:51 +00:00
baldurk e5f4ca7bb8 Remove use of const char * in public API and OS specific where possible
* This prevents unnecessary conversions back and forth between rdcstr and const
  char * when going through interfaces. In the OS specific layer this is rarely
  an issue because most of the implementations don't convert to rdcstr, but it
  is convenient to be able to pass in an rdcstr directly. The few cases where
  there's an unecessary construction of an rdcstr is acceptable.
* A couple of places in the public API need to return a string from a global
  function, so can't return an rdcstr due to C ABI, so they still return a const
  char *.
* Similarly const char * is kept for logging, to avoid a dependency on rdcstr
  and because that's one place where unnecessary conversions/constructions may
  be impactful.
2020-12-07 17:44:50 +00:00
baldurk df6fec13f9 Remove use of automodule in docs
* One automodule in a file for our modules is way too much, so we split it into
  files. Unfortunately this means that only one file can have those classes and
  functions be linkable from elsewhere.
* Instead we bite the bullet and manually curate the items into pages, and at
  the same time subdivide the 'enums and data' page more which is a general
  readability and usability win as well.
* We also add some previously not-included functions, and add a doc-build time
  check to ensure that functions and classes aren't omitted from the
  documentation in future
2020-12-07 17:44:50 +00:00
baldurk 8a58ba6843 Allow arrays of pointers in GPU buffers 2020-12-07 17:42:18 +00:00
baldurk 6f7e8bb396 Add python interface consistency check that we don't use non-class enums
* These enums are generally not preferred anyway, but they also can't have
  docstrings so can't be checked for *missing* docstrings.
2020-12-05 09:57:40 +00:00