Change the nvidia Aftermath integration to use c strings directly rather than convert to an AZStd::string (#6535)

Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
This commit is contained in:
rgba16f
2021-12-22 11:30:32 -06:00
committed by GitHub
parent 67689d48cc
commit d5e6ec5758
4 changed files with 6 additions and 5 deletions
@@ -53,14 +53,14 @@ namespace Aftermath
#endif
}
void SetAftermathEventMarker( [[maybe_unused]] void* cntxHandle, [[maybe_unused]] const AZStd::string& markerData, [[maybe_unused]] bool isAftermathInitialized)
void SetAftermathEventMarker( [[maybe_unused]] void* cntxHandle, [[maybe_unused]] const char* markerData, [[maybe_unused]] bool isAftermathInitialized)
{
#if defined(USE_NSIGHT_AFTERMATH)
if (isAftermathInitialized)
{
GFSDK_Aftermath_Result result = GFSDK_Aftermath_SetEventMarker(
static_cast<GFSDK_Aftermath_ContextHandle>(cntxHandle), static_cast<const void*>(markerData.c_str()),
static_cast<unsigned int>(markerData.size()) + 1);
static_cast<GFSDK_Aftermath_ContextHandle>(cntxHandle), static_cast<const void*>(markerData),
static_cast<unsigned int>(strlen(markerData) + 1);
AssertOnError(result);
}
#endif
@@ -85,7 +85,7 @@ namespace AZ
return m_hardwareQueueClass;
}
void CommandListBase::SetAftermathEventMarker(const AZStd::string& markerData)
void CommandListBase::SetAftermathEventMarker(const char* markerData)
{
auto& device = static_cast<Device&>(GetDevice());
Aftermath::SetAftermathEventMarker(m_aftermathCommandListContext, markerData, device.IsAftermathInitialized());
@@ -52,7 +52,7 @@ namespace AZ
RHI::HardwareQueueClass GetHardwareQueueClass() const;
void SetAftermathEventMarker(const AZStd::string& markerData);
void SetAftermathEventMarker(const char* markerData);
protected:
void Init(Device& device, RHI::HardwareQueueClass hardwareQueueClass, ID3D12CommandAllocator* commandAllocator);
@@ -15,6 +15,7 @@
namespace Aftermath
{
void SetAftermathEventMarker(void* cntxHandle, const AZStd::string& markerData, bool isAftermathInitialized);
void SetAftermathEventMarker(void* cntxHandle, const char* markerData, bool isAftermathInitialized);
bool InitializeAftermath(AZ::RHI::Ptr<ID3D12DeviceX> dx12Device);
void* CreateAftermathContextHandle(ID3D12GraphicsCommandList* commandList, void* crashTracker);
void OutputLastScopeExecutingOnGPU(void* crashTracker);