diff --git a/renderdoc/driver/d3d12/d3d12_common.h b/renderdoc/driver/d3d12/d3d12_common.h index 17c22ebeb..56dc80101 100644 --- a/renderdoc/driver/d3d12/d3d12_common.h +++ b/renderdoc/driver/d3d12/d3d12_common.h @@ -65,7 +65,8 @@ void D3D12_CleanupReplaySDK(); inline void SetObjName(ID3D12Object *obj, const rdcstr &utf8name) { - obj->SetName(StringFormat::UTF82Wide(utf8name).c_str()); + if(obj) + obj->SetName(StringFormat::UTF82Wide(utf8name).c_str()); } #define PIX_EVENT_UNICODE_VERSION 0 diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 13a19074a..5fc73fbe1 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -1750,6 +1750,12 @@ bool WrappedID3D12Device::Serialise_MapDataWrite(SerialiserType &ser, ID3D12Reso { ID3D12Resource *uploadBuf = GetUploadBuffer(cmd.m_CurChunkOffset, rangeSize); + if(uploadBuf) + { + RDCERR("Couldn't get upload buffer"); + return false; + } + SetObjName(uploadBuf, StringFormat::Fmt("Map data write, %llu bytes for %s/%u @ %llu", rangeSize, ToStr(origid).c_str(), Subresource, cmd.m_CurChunkOffset));