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
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