* This is necessary on e.g. Windows where some legacy functions are only
exported via the dll and need to be 'properly' hooked and not just intercepted
via GL's GetProcAddr
* The custom shader output is updated when displaying, but this can lag by a
call or two (a 'frame' if you like) when the display is only triggered by a
window repaint and the histogram can be fetched first. Since the custom shader
apply is only expensive when we need to recreate the output texture, we can do
it on-demand similar to what we do with the overlay texture.
SDK 11.1 and SDK 12 have different declaration for MTLDevice::supportsBCTextureCompression.
On SDK 11.1 it is marked as API_AVAILABLE for ios and on SDK 12 is marked as API_UNAVAILABLE ios.
Guard the API_UNAVAILABLE(ios) declaration to only be included when compiling for SDK 12.0 or above.
The compile error message before the fix:
renderdoc/driver/metal/metal_device_bridge.mm:158:64: error: method cannot be unavailable on iOS when the protocol method it implements is available [-Werror,-Wavailability]
69
- (BOOL)supportsBCTextureCompression API_AVAILABLE(macos(11.0))API_UNAVAILABLE(ios)
* The previous PR that added this code existed before ptr-to-function was
stripped down to just function for function types, so this change brings it in
line.
Fix a typo in a comment in D3D12_Descriptor_Indexing.py.
Fix UAV using a typed buffer view instead of a structured buffer view.
Fix SetDescriptorHeaps being called before ClearUnorderedAccessViewUint
Simplify code to get objc bridge from API result to single line instead of using a temporary variable
Fix missing forward declaration for bool IsObjCBridge(MTL::CPPTYPE *objCWrapped);
Simplify code to get objc bridge from API result to single line instead of using a temporary variable.
Fix missing forward declaration for bool IsObjCBridge(MTL::CPPTYPE *objCWrapped);
* Loading LibGit2Sharp.dll by hand in msbuild no longer works in VS2022 due to
architecture changes. We can fairly reliably get the same result by manually
reading (and following the ref in) .git/HEAD
* 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.
Use DECLARE_FUNCTION_WITH_RETURN_SERIALISED & INSTANTIATE_FUNCTION_WITH_RETURN_SERIALISED for
MTLDevice::newDefaultLibrary
MTLDevice::newLibraryWithSource
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