Jake Turner
0c8e41b201
Added wrapped MTLCommandQueue
...
Implemented capture serialisation for MTLDevice::newCommandQueue
Introduce new helper macros DECLARE_FUNCTION_WITH_RETURN_SERIALISED & INSTANTIATE_FUNCTION_WITH_RETURN_SERIALISED for serialising APIs with return values that need serialising ie. Metal resource creation APIs
2022-03-17 10:19:21 +00:00
Jake Turner
f01a4df484
Fix Xcode 13.3 and Clang 13.x compile errors
...
Disable warnings
-Wunused-but-set-variable
-Wdeprecated-copy
2022-03-17 09:36:44 +00:00
Jake Turner
308456535f
Rename ObjC helper GetResId -> GetResID
2022-03-15 19:01:52 +00:00
Jake Turner
6a657bd19f
Rename ObjC helper GetId -> GetResId
2022-03-15 19:01:52 +00:00
Jake Turner
b92dccc5e9
Add declarations for ObjC helper methods
2022-03-15 19:01:52 +00:00
Jake Turner
ca7495a3c8
Remove extra #include "serialise/serialiser.h"
2022-03-15 19:01:52 +00:00
Jake Turner
247e2d7d0b
Use bytebuf to serialise default library data
2022-03-15 19:01:52 +00:00
Jake Turner
00e8c31255
Change ObjCWrappedMTL* to ObjCBridgeMTL*
...
Change:
AllocateObjCWrapper -> AllocateObjCBridge
IsObjCWrapped -> IsObjCBridge
GetObjC -> GetObjCBridge
WrappedMTLObject::objc -> WrappedMTLObject::objcBridge
WrappedMTLObject::GetObjCWrappedMTLDevice -> WrappedMTLObject::GetObjCBridgeMTLDevice
Added GetReal() to C++ Wrapped objects
2022-03-15 19:01:52 +00:00
Jake Turner
5f3203c698
Hooking for MTLDevice basic new Library APIs
2022-03-15 19:01:52 +00:00
Jake Turner
88a2b3d74a
Added basic MetalResourceManager implementation
...
Added MetalResourceManager to WrappedMTLDevice
Added helper macros:
METAL_NOT_IMPLEMENTED
METAL_NOT_IMPLEMENTED_ONCE
Added WrappedMTLDevice InitialState methods to metal_init_state.cpp
Added WrappedMTLDevice Serialiser helper methods to metal_core.cpp
2022-03-15 19:01:52 +00:00
Jake Turner
d79617cb46
Added ResourceId GetResID(WrappedMTLObject *obj)
2022-03-15 19:01:52 +00:00
Jake Turner
33d8061555
Add MetalResourceRecord record to WrappedMTLObject
2022-03-15 19:01:52 +00:00
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