Commit Graph

902 Commits

Author SHA1 Message Date
Artur Wojcik df7a3562be Update the documentation of the ProgressBar widget 2022-11-28 14:41:00 +01:00
Artur Wojcik bae0d1992b MiniQtHelper: add ProgressBar widget 2022-11-28 14:41:00 +01:00
Artur Wojcik 3624d6e30b Fix the invalid pointer dereference bug in the combo widget 2022-11-17 19:22:40 +01:00
Artur Wojcik 789a2a131c Use the previous naming to keep source compatibility 2022-11-17 19:22:40 +01:00
Artur Wojcik e630515813 MiniQtHelper: upgrade ComboBox widget
Added interface functions:
    - GetComboBoxCount() the function returns the number of
      combo box options currently set,
    - SelectComboBoxOption() - selects an active combo box
      option by name from the list of set options.

Updated interface functions:
    - Changed SetComboOptions() to SetComboBoxOptions to keep
      consistency in naming.
2022-11-17 19:22:40 +01:00
Artur Wojcik e2f3426dc6 MiniQtHelper: fix the bug in SetWidgetFont() while setting the font face
Signed-off-by: Artur Wojcik <artur.wojcik@amd.com>
2022-11-15 19:56:25 +01:00
baldurk 2cf7b911c7 Fix refcounting issue with python frame objects 2022-11-09 12:20:48 +00:00
baldurk 9df7d40241 Fix compilation on python version update on mac CI 2022-11-02 12:22:33 +00:00
baldurk 7798d2e114 Check for shader processing tool failures properly. Closes #2751 2022-10-14 12:00:54 +01:00
baldurk 835990b052 Ensure texture-generated formats default to scalar packing
* On APIs like OpenGL texture formats (like vertex buffer formats) can be
  tightly packed even in cases that apparently are otherwise not allowed - e.g.
  with fake RGB formats where the stride looks misaligned due to alpha being
  hidden.
2022-10-14 11:51:26 +01:00
baldurk 1ede871bd3 Allow C-style sized types in buffer formatter. Closes #2742 2022-10-10 11:39:20 +01:00
baldurk 39920c1b71 Show the version running when connecting to incompatible remote server 2022-10-03 20:10:41 +01:00
baldurk bc5aef5447 Add a separate PanelMenu item for extensions in non-mesh buffer viewers 2022-09-19 11:24:38 +01:00
baldurk e061ea3b2e Improve handling of compilers & command line for edited shaders
* We store the compiler used (when known) in shader debug info and use that to
  select the compiler for editing as even higher priority than the default for a
  given language/encoding combination.
* We also ensure that for known tools we add the input and output parameters
  last, after any custom parameters, so that they are always present regardless
  of what the user puts in.
2022-08-10 14:56:44 +01:00
baldurk 94d1ce3917 Cache text for GPUAddress values properly 2022-08-04 16:56:32 +01:00
baldurk ea35f0df0c texture formats that aren't matrices shouldn't be marked row major 2022-08-03 17:44:11 +01:00
baldurk 935fa49c98 Store source vars data per-instruction rather than per-state
* Since the source vars data doesn't change for a given instruction, we can pre-
  calculate it and save time on re-calculating per-state.
* Note callstack *can* change per-state on SPIR-V where the same instruction can
  be reached by different flow paths, so the callstack remains part of the per-
  state data.
2022-08-03 17:44:11 +01:00
baldurk 5d51b524c6 Fix interpreting and declaring buffer formats that include pointers 2022-07-25 10:08:59 +01:00
Jake Turner fb04266122 Disable Clang "-Wshorten-64-to-32" for files
3rdParty source files and some renderdoc files which include 3rdparty header files

Disable "-Wshorten-64-to-32" for the whole of qrenderdoc render_python.cxx triggers the warning
2022-07-21 11:49:49 +01:00
Jake Turner 1622667bf8 Disable Clang "-Wshadow" for specific files
3rdParty source files and some renderdoc files which include 3rdparty header files

Disable "-Wshadow" for the whole of qrenderdoc render_python.cxx triggers the warning
2022-07-21 11:49:49 +01:00
baldurk 7bdf26d329 Implement location tracking and goto for GS printfs
* We can't debug geometry shaders but we can scroll to them, as long as we have
  the primitive. We can't differentiate instances currently without passing that
  data through from the VS (and through tessellation, if it exists).
* This also disables the debug and goto buttons for printfs from shader stages
  that don't support those operations.
2022-07-11 13:02:23 +01:00
baldurk d39197a499 Arrays of float3 with a stride of 12 is only possible in scalar packing
* Previously this would be treated as std430 due to being 'tight' array packed,
  even though std430 only allows as tight as the base alignment - which for a
  float3 is 16-bytes still.
2022-07-11 13:00:18 +01:00
Jake Turner dd58dd012b Update expected error message to match code
Fixes failing "Buffer format parsing" unit test
2022-06-27 11:03:22 +01:00
Jake Turner d34c2cf658 Do not clear catch failure return state 2022-06-27 11:03:22 +01:00
baldurk 2020a71cf1 Account for flip in face culling winding for GL clip origin
* The GL clip origin when changed from lower left to upper left will also invert
  the face culling sense. This is deliberate to counteract the fact that
  otherwise CW wound triangles would be CCW wound, so the flip means that if
  GL_CCW is the front face state and back faces are culled, then visibly CCW
  wound triangles will be culled.
2022-06-21 12:51:31 +01:00
baldurk f01dfbecc1 Add a python extension function to access picked location. Refs #2065 2022-05-31 11:26:59 +01:00
baldurk c77261f0f3 Display struct/enum typenames when available in buffer viewer 2022-05-25 17:18:31 +01:00
baldurk 9bde5324b6 Improve handling of enums in buffer viewer fixed variables 2022-05-25 17:02:10 +01:00
baldurk 694c17d6bf Fix formatting of buffers with explicit unbounded arrays 2022-05-24 17:59:10 +01:00
baldurk 27aa5e05c3 Work recursively to estimate packing rules of a struct 2022-05-24 16:34:42 +01:00
baldurk c5a588d2e4 Fix texture-as-buffer view format string generation 2022-05-23 14:43:08 +01:00
baldurk a1abc95ac2 Remove use of QStringView from newer Qt versions 2022-05-20 16:43:09 +01:00
baldurk cef5aa857b Avoid declaring redundant structs for anonymous GL structs 2022-05-20 14:15:31 +01:00
baldurk 07d7bbc1ae Add tests for buffer format parsing 2022-05-20 14:15:31 +01:00
baldurk 6b133b437c Account for specified struct padding in final root struct 2022-05-20 14:15:31 +01:00
baldurk 7acde16d1e Improve parsing of pointers in buffer formats 2022-05-20 14:15:31 +01:00
baldurk 8ab61370a9 Make blank parse result more consistent 2022-05-20 14:15:31 +01:00
baldurk d2c557a1ae Pick better packing defaults for APIs where we know what is expected
* For vulkan any packing can be legal so we don't pick a default, but at least
  for D3D and GL the type of buffer implies a packing.
2022-05-20 14:15:31 +01:00
baldurk 31feedd16d Remove ShaderConstantDescriptor, inline into ShaderConstantType
* This struct was redundant isnce it was only ever used in the type and not
  meaningfully accessed directly.
2022-05-20 14:15:31 +01:00
baldurk 8c6192d5bd Copy catch.hpp into qrenderdoc and run on --unittest in non-release 2022-05-20 14:15:31 +01:00
baldurk 2d8687e28e Show parse errors on the line they occur 2022-05-20 14:15:31 +01:00
baldurk 3908082bd6 Improve python docstring checks
* We need to check for getsets having duplicate docstrings, and ignore
  docstrings being duplicated between members of different structs.
2022-05-20 14:15:30 +01:00
baldurk abe645f031 Add support for saving and loading structure definitions 2022-05-20 14:15:30 +01:00
baldurk 4bb54d00dd Show visible offsets and (optionally) padding in buffers. Closes #1664 2022-05-20 14:15:30 +01:00
baldurk 5ac9de0a20 Show truncation in fixed variables explicitly instead of showing 0s 2022-05-20 14:15:30 +01:00
baldurk 43fa3cd94b Use BufferViewer for viewing constant buffers
* Unifying these views means that constant buffers have all the same
  reformatting and it avoids having multiple paths for what is now effectively
  the same control (a buffer can either have fixed data, repeating data, or
  both)
2022-05-20 14:15:30 +01:00
baldurk fcdcc9714b Implement export options for fixed items in buffer view 2022-05-20 13:37:27 +01:00
baldurk a36516c8a5 Explicitly handle unbounded arrays and display declared fixed vars
* GL and Vulkan allow buffers to have fixed variables before a trailing AoS
  unbounded array. These fixed variables can't be easily displayed in a table
  and previously we skipped them. Now we display these in a tree format.
* We also support formats which don't have an unbounded array at all and display
  these just with the tree. This will allow the BufferViewer to subsume the
  capabilities of the ConstantBufferPreviewer (though it needs to handle opaque
  non-buffer-backed variables, and slot-following).
2022-05-20 13:37:26 +01:00
baldurk d0720fe787 Allow a [[pad]] annotation to specify padding elements
* These elements are consumed but not shown, so the offsets of subsequent
  elements still act as if they're there. This may be more convenient than
  specifying a manual offset on the next element or a struct size.
2022-05-20 13:37:26 +01:00
baldurk d2bbf76479 Fix struct declaration order when multiple structs use a common struct 2022-05-20 13:37:26 +01:00