baldurk
05d31025c0
Test that minimum cmake version works in CI
2022-03-18 14:10:28 +00:00
baldurk
1591ebcb1e
Represent function types as plain func, not ptr-to-func
...
* This is not how LLVM does things, but sometimes DXIL blobs don't have the ptr-
to-func types present, and we always access the real function type anyway so
it should be safe to store the direct function type.
2022-03-17 23:49:09 +00:00
baldurk
5076ab1b4d
Allow easier switching between offline/online reflection for tests
2022-03-17 18:10:06 +00:00
baldurk
345206b2b8
Fix validation error with inline uniform block writes
2022-03-17 18:10:05 +00:00
baldurk
f4d9cf2b7e
Fix UAV slot matching for D3D11 with merged UAV/RTV bindings
2022-03-17 18:10:05 +00:00
Jake Turner
b743580b79
Use new macros for serialising APIs with returns
...
Use DECLARE_FUNCTION_WITH_RETURN_SERIALISED & INSTANTIATE_FUNCTION_WITH_RETURN_SERIALISED for
MTLDevice::newDefaultLibrary
MTLDevice::newLibraryWithSource
2022-03-17 10:19:21 +00:00
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