Commit Graph

12921 Commits

Author SHA1 Message Date
baldurk 8e76069ecf Switch watch variables control from table to tree widget
* This will allow watching structs or arrays
2022-03-07 14:45:44 +00:00
baldurk 3af7458763 Continue to show last value of a watch variable when it's not available 2022-03-07 14:45:44 +00:00
baldurk 87f2adc829 Improve mapping of source locations to instructions in shader debugging 2022-03-07 14:45:44 +00:00
baldurk b35b744ada Verify captures are still present before showing them in connection
* If the RenderDoc UI connects to a program, opens then deletes the captures,
  then closes and is opened again - we don't want to report those deleted
  captures as if they still exist. This now clears out any captures that no
  longer exist.
2022-03-07 14:45:44 +00:00
baldurk 4d631e2c72 Check for dynamic rendering inheritance if used with secondary cmdbufs 2022-03-07 14:17:29 +00:00
baldurk 3ef88343ca Add serialisation of VkCommandBufferInheritanceRenderingInfo::flags 2022-03-07 14:17:12 +00:00
baldurk d645d5f0d6 Remove some unused STL includes 2022-03-01 12:25:31 +00:00
baldurk d40a093544 Fix problems with residency management during capture. Closes #2496
* We don't want to allow threaded evictions of resources while we're preparing
  initial states, and we need to manage residency of heaps as well as individual
  resources.
2022-03-01 12:07:34 +00:00
baldurk c22fb717d6 Fix detection of fatal errors better during initialisation 2022-02-28 11:32:33 +00:00
baldurk d972db1524 Don't use linear sampling on integer textures 2022-02-25 16:15:39 +00:00
baldurk c9c3e0f646 Fix backwards check for unsupported GL functions 2022-02-25 13:01:22 +00:00
baldurk 977d4b4d1b Unset tracking context bindings when objects are deleted 2022-02-24 19:00:35 +00:00
baldurk 52d26919b5 Fix image barriers when selecting BeginRP with discards 2022-02-24 19:00:35 +00:00
baldurk d57a8dc5d9 Sanitise renderpass barrier layouts before applying them 2022-02-24 19:00:34 +00:00
baldurk 522a947aac Specify IGNORED queue family for renderpass barriers 2022-02-24 19:00:34 +00:00
baldurk 7eec1f19e7 Fix depth/stencil barrier aspects for discard patterns 2022-02-24 19:00:34 +00:00
baldurk 24d0922005 On GL refuse to capture if any unsupported function is called
* For some of these it may be harmless, but it is apparently common for
  applications to blindly use extenstion functions without checking that the
  extension is available and this is the only way to make things robust and
  prevent them from generating potentially broken captures.
2022-02-24 19:00:34 +00:00
baldurk ccf80e82c7 On D3D check for hook recursion thread-locally 2022-02-24 19:00:34 +00:00
baldurk b17ea43b65 Remove some static variables that aren't needed 2022-02-24 19:00:34 +00:00
Jake Turner 6bd8bcee60 Add note that Mac requires a C++17 compiler 2022-02-19 11:17:33 +00:00
Jake Turner 949aaa2c0a Guard XCode project generation specific settings 2022-02-19 11:17:33 +00:00
Jake Turner 39d11975b2 Update build requirements for Apple
CMake version 3.20 or higher (needed to support Xcode project generation)
clang version 12.0 or higher (needed to support arm64+x64 universal binary compilation)
XCode 12.2 is the oldest version which includes clang version 12.0
2022-02-19 11:17:33 +00:00
baldurk 08e7a55732 Fix potential crash internally to Qt when removing tree widget items 2022-02-19 10:24:33 +00:00
baldurk a51b20369f On windows only inherit handles if required for process output 2022-02-17 17:38:32 +00:00
baldurk 60e1f86571 Fix xml handling of arrays when loading config 2022-02-17 17:38:32 +00:00
baldurk fcdea67879 Update copyright years to 2022 2022-02-17 17:38:32 +00:00
Remi Palandri 25a4fc41d6 add VR thumbnail support 2022-02-17 17:36:35 +00:00
Jake Turner 0d852ae6f2 Tweak MTL type declarations in metal-cpp.h
Changes to make metal-cpp options work nicely with RenderDoc serialization
_MTL_OPTIONS -> _NS_ENUM

RenderDoc serialization works with fixed sized types
2022-02-17 14:06:28 +00:00
Jake Turner 53e17c72d4 Tweak NS type declarations in metal-cpp.h
Changes to make metal-cpp enums work nicely with RenderDoc serialization
NS::Integer -> std::int64_t
NS::UInteger -> std::uint64_t

RenderDoc serialization works with fixed sized types
2022-02-17 14:06:28 +00:00
Jake Turner c4edcdbf66 Fix compile warnings/errors in metal-cpp.h
Forward declare MTL::Drawable to avoid conflicts. "Drawable" is a common type name
2022-02-17 14:06:28 +00:00
Jake Turner b633ec78f8 Fix compile warnings/errors in metal-cpp.h
renderdoc/driver/metal/official/metal-cpp.h:15062:121: error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers]
2022-02-17 14:06:28 +00:00
Jake Turner 066870652c Added metal-cpp to the project
Raw header file from Metal-cpp project
Generated using

./SingleHeader/MakeSingleHeader.py Foundation/Foundation.hpp QuartzCore/QuartzCore.hpp Metal/Metal.hpp

Metal-cpp project: https://developer.apple.com/metal/cpp/
https://developer.apple.com/metal/cpp/files/metal-cpp_macOS12_iOS15.zip
2022-02-17 14:06:28 +00:00
Jake Turner ce36cc340f CMake files base setup for Metal 2022-02-17 14:06:28 +00:00
baldurk 31221a6d04 Add support for wglMakeContextCurrentARB. Closes #2498 2022-02-16 16:41:08 +00:00
baldurk f573b55012 Fix broken call to BecomeRemoteServer 2022-02-16 13:14:58 +00:00
Jake Turner f74b350f93 Apple: wait for ~16 seconds for application launch
On Apple Silicon it can take ~10 seconds for the OS to launch an Intel x64 process.
The Intel executable is translated on launch using Rosetta.
2022-02-16 11:10:34 +00:00
Jake Turner f9b6752f14 Apple: fix hooking not working on OSX 12
Change hooking to use link time symbol address instead of runtime dlsym
Since OSX12 dlsym(RTLD_NEXT,...) returns the interposed symbol not the real symbol
2022-02-16 11:10:34 +00:00
Remi Palandri 8b3b862dcc remove QCOM workarounds on newer driver 2022-02-16 11:02:13 +00:00
Remi Palandri 1abe42c0a4 add dimensions and offset info to HTML pipeline 2022-02-15 19:28:58 +00:00
baldurk e99260ab6c Add a context menu item for renaming captures in connection panel 2022-02-15 17:15:48 +00:00
baldurk 142fe7c84f Allow editing the marker path as a location
* This lets you paste in a location to jump directly somewhere, for example.
2022-02-15 17:15:48 +00:00
baldurk 99adcc614f Allow multiple remote servers on one hostname, on different ports
* When a port is specified (with the usual :12345 suffix on the hostname) we use
  that for remote replay connections. We disable target control enumeration
  since that requires a port _range_ and captured applications self-assign those
  ports. Those can still be accessed via a normal unsuffixed remote specifier -
  even if there is no remote server running on the default port.
2022-02-15 17:15:48 +00:00
baldurk 435ed5ad38 Mark literal string creation as constexpr
* The compiler doesn't seem to do much with this in debug, but it might help in
  release.
2022-02-15 17:15:48 +00:00
baldurk da979b23bc Don't omit opaque types for real empty structs in DXIL editing 2022-02-15 17:15:48 +00:00
Remi Palandri d1858f4479 add support for VK_QCOM_FDM_offset 2022-02-14 21:02:27 +00:00
baldurk 4fe19177b9 Update asic count 2022-02-14 13:38:23 +00:00
baldurk a2df3de613 Update RGA backend to include gfx1034 2022-02-14 13:32:14 +00:00
baldurk 9b9a67e8da Make sure to fetch egl functions via eglGPA if necessary. Refs #2494
* Extensions will likely not be exported as real symbols, so we need to handle
  the case of needing to fetch the onward pointer via eglGetProcAddress.
* We do this for non-extensions too, to try to fetch core functions that are
  still NULL after hook initialisation. Since we do wholesale dlopen/dlsym
  replacement on linux we cannot handle the case where an application checks for
  function validity via just normal dlsym returning something, but then the
  function doesn't exist in the real libEGL.so. We have no way of reporting that
  the function actually doesn't exist because we have nowhere to call, and it
  will crash. Trying to fetch the pointer via eglGPA is unlikely to succeed but
  should do no harm as we don't set these function pointers anywhere else.
2022-02-14 11:57:49 +00:00
baldurk 755c4254b8 Save current renderpass before it is unset in vkCmdEndRenderPass
* We need this to look up which renderpass we were in previously
2022-02-14 11:32:20 +00:00
baldurk 874134da70 Disable DXIL validator entirely as it sometimes crashes on valid code 2022-02-11 16:44:55 +00:00