Commit Graph

12943 Commits

Author SHA1 Message Date
Jake Turner a764744bc0 Added ObjC::Get_defaultLibraryData 2022-03-15 19:01:52 +00:00
Jake Turner 07011138dc Add support for NS::String* serialisation 2022-03-15 19:01:52 +00:00
baldurk 6d5140e5b5 Remove links to deleted wiki pages, and planned/roadmap features doc 2022-03-15 14:34:38 +00:00
baldurk 43091746a4 Promote CmdUpdateBuffer to be an action (similar to CmdFillBuffer)
* This is more consistent with our definition of actions as anything that can or
  does significantly mutate a resource.
2022-03-15 13:47:25 +00:00
baldurk e2bdd618d3 Set default sampler parameters when none is bound. Closes #2520 2022-03-15 11:31:19 +00:00
baldurk efbc17335b Make sure to remove secondary subpass flag on renderpasses
* When replaying draws alone in a primary command buffer we need to revert back
  to normal draws in subpasses.
2022-03-15 10:53:26 +00:00
Jake Turner 036a5c8da0 Added wrapped MTLLibrary & MTLFunction
Not currently created or used
2022-03-12 12:08:23 +00:00
Jake Turner 596e7f0e11 Added a couple of helpers to WrappedMTLObject
Dealloc()
GetObjCWrappedMTLDevice()
2022-03-12 12:08:23 +00:00
Jake Turner ef85b49e91 Add CaptureState& to WrappedMTLObject constructor 2022-03-12 12:08:23 +00:00
Jake Turner 86f4f2f70e Added MetalResourceType enum
Switch to use include of "metal_common.h" instead of "metal_types.h"
2022-03-12 12:08:23 +00:00
Jake Turner 332f3e6143 Added and used new macro METAL_NOT_HOOKED
Replaces "NSLog(@"Not hooked %@", NSStringFromSelector(_cmd));"
Added comments to explain use of methodSignatureForSelector & forwardInvocation methods
2022-03-12 12:08:23 +00:00
Jake Turner 6d24e2b100 Change Metal hooking to use RegisterFunctionHook
Instead of direct function pointer capture at compile time
2022-03-12 12:08:23 +00:00
Jake Turner 91df933215 Updated copyright year to 2022 2022-03-12 12:08:23 +00:00
baldurk ab19941650 Use _NT_SYMBOL_PATH where available as search path for callstacks 2022-03-10 11:13:26 +00:00
Remi Palandri 79aee1df43 full implementation of compute msaa-to-buffer 2022-03-09 12:10:47 +00:00
Jake Turner b72bdb2b9a Metal: basic hooking and MTLDevice wrapping 2022-03-09 10:29:03 +00:00
Remi Palandri 9d6526ff6e fix output window vulkan valid/crashes 2022-03-09 10:15:05 +00:00
baldurk ad9a4e854f Fix to bizarre CI failure
* For some reason using != on these QSet<QString> fails in release only on
  github's CI only. I don't know what is broken on their runners but this
  workaround fixes it.
2022-03-09 03:02:13 +00:00
baldurk a265a8363d Compile fixes 2022-03-08 18:32:31 +00:00
baldurk 7b4f535663 Refactor watch variables to support complex types including structs 2022-03-07 18:45:57 +00:00
baldurk b0db52c80b Show variable context menu for constants panel as well 2022-03-07 14:45:44 +00:00
baldurk 26de305e1a Allow adding a watch for any text selection 2022-03-07 14:45:44 +00:00
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