From 31b97ab0e8f12aece8bed5f5a30e30b135a11fe0 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Wed, 1 Jun 2022 07:16:11 +0100 Subject: [PATCH] Updated TODO: about BinaryArchive & DynamicLibrary They will both need to be wrapped. When WrappedMTLBinaryArchive and WrappedMTLDynamicLibrary exist then can serialize: binaryArchives vertexPreloadedLibraries fragmentPreloadedLibraries --- renderdoc/driver/metal/metal_serialise.cpp | 4 ++-- renderdoc/driver/metal/metal_types.cpp | 22 ++++++++++++---------- renderdoc/driver/metal/metal_types.h | 10 +++++----- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/renderdoc/driver/metal/metal_serialise.cpp b/renderdoc/driver/metal/metal_serialise.cpp index 755e22cb5..f5b8bc2c0 100644 --- a/renderdoc/driver/metal/metal_serialise.cpp +++ b/renderdoc/driver/metal/metal_serialise.cpp @@ -244,9 +244,9 @@ void DoSerialise(SerialiserType &ser, RDMTL::RenderPipelineDescriptor &el) SERIALISE_MEMBER(vertexBuffers); SERIALISE_MEMBER(fragmentBuffers); SERIALISE_MEMBER(supportIndirectCommandBuffers); - // TODO: will MTL::BinaryArchive need to be a wrapped resource + // TODO: when WrappedMTLBinaryArchive exists // SERIALISE_MEMBER(binaryArchives); - // TODO: will MTL::DynamicLibrary need to be a wrapped resource + // TODO: when WrappedMTLDynamicLibrary exists // SERIALISE_MEMBER(vertexPreloadedLibraries); // SERIALISE_MEMBER(fragmentPreloadedLibraries); SERIALISE_MEMBER(vertexLinkedFunctions); diff --git a/renderdoc/driver/metal/metal_types.cpp b/renderdoc/driver/metal/metal_types.cpp index c7c20b319..10981dbbf 100644 --- a/renderdoc/driver/metal/metal_types.cpp +++ b/renderdoc/driver/metal/metal_types.cpp @@ -371,11 +371,11 @@ RenderPipelineDescriptor::RenderPipelineDescriptor(MTL::RenderPipelineDescriptor ValidData); GETOBJCARRAY(PipelineBufferDescriptor, MAX_RENDER_PASS_BUFFER_ATTACHMENTS, fragmentBuffers, ValidData); - // TODO: will MTL::BinaryArchive need to be a wrapped resource - // rdcarray binaryArchives; - // TODO: will MTL::DynamicLibrary need to be a wrapped resource - // rdcarray vertexPreloadedLibraries; - // rdcarray fragmentPreloadedLibraries; + // TODO: when WrappedMTLBinaryArchive exists + // GETWRAPPEDNSARRAY(BinaryArchive, binaryArchives); + // TODO: when WrappedMTLDynamicLibrary exists + // GETWRAPPEDNSARRAY(DynamicLibrary, vertexPreloadedLibraries); + // GETWRAPPEDNSARRAY(DynamicLibrary, fragmentPreloadedLibraries); } RenderPipelineDescriptor::operator MTL::RenderPipelineDescriptor *() @@ -408,11 +408,13 @@ RenderPipelineDescriptor::operator MTL::RenderPipelineDescriptor *() COPYTOOBJCARRAY(PipelineBufferDescriptor, vertexBuffers); COPYTOOBJCARRAY(PipelineBufferDescriptor, fragmentBuffers); objc->setSupportIndirectCommandBuffers(supportIndirectCommandBuffers); - // TODO: will MTL::BinaryArchive need to be a wrapped resource - // rdcarray binaryArchives; - // TODO: will MTL::DynamicLibrary need to be a wrapped resource - // rdcarray vertexPreloadedLibraries; - // rdcarray fragmentPreloadedLibraries; + // TODO: when WrappedMTLBinaryArchive exists + // objc->setBinaryArchives(CreateUnwrappedNSArray(binaryArchives)); + // TODO: when WrappedMTLDynamicLibrary exists + // objc->setVertexPreloadedLibraries(CreateUnwrappedNSArray(vertexPreloadedLibraries)); + // objc->setFragmentPreloadedLibraries(CreateUnwrappedNSArray(fragmentPreloadedLibraries)); vertexLinkedFunctions.CopyTo(objc->vertexLinkedFunctions()); fragmentLinkedFunctions.CopyTo(objc->fragmentLinkedFunctions()); objc->setSupportAddingVertexBinaryFunctions(supportAddingVertexBinaryFunctions); diff --git a/renderdoc/driver/metal/metal_types.h b/renderdoc/driver/metal/metal_types.h index 5aa4f582a..e7764ad0d 100644 --- a/renderdoc/driver/metal/metal_types.h +++ b/renderdoc/driver/metal/metal_types.h @@ -266,11 +266,11 @@ struct RenderPipelineDescriptor rdcarray vertexBuffers; rdcarray fragmentBuffers; bool supportIndirectCommandBuffers = false; - // TODO: will MTL::BinaryArchive need to be a wrapped resource - // rdcarray binaryArchives; - // TODO: will MTL::DynamicLibrary need to be a wrapped resource - // rdcarray vertexPreloadedLibraries; - // rdcarray fragmentPreloadedLibraries; + // TODO: when WrappedMTLBinaryArchive exists + // rdcarray binaryArchives; + // TODO: when WrappedMTLDynamicLibrary exists + // rdcarray vertexPreloadedLibraries; + // rdcarray fragmentPreloadedLibraries; LinkedFunctions vertexLinkedFunctions; LinkedFunctions fragmentLinkedFunctions; bool supportAddingVertexBinaryFunctions = false;