SpiecsEngine
 
Loading...
Searching...
No Matches

◆ OnShaderDebugInfo()

void Spices::GpuCrashTracker::OnShaderDebugInfo ( const void * pShaderDebugInfo,
const uint32_t shaderDebugInfoSize )
private

Handler for shader debug information callbacks.

Parameters
[in]pShaderDebugInfo.
[in]shaderDebugInfoSize.

Get shader debug information identifier.

Store information for decoding of GPU crash dumps with shader address mapping from within the application.

Write to file for later in-depth analysis of crash dumps with Nsight Graphics.

Get shader debug information identifier.

Store information for decoding of GPU crash dumps with shader address mapping from within the application.

Write to file for later in-depth analysis of crash dumps with Nsight Graphics.

Definition at line 155 of file NsightAftermathGpuCrashTracker.cpp.

156 {
158
159 std::lock_guard<std::mutex> lock(m_Mutex);
160
164 GFSDK_Aftermath_ShaderDebugInfoIdentifier identifier = {};
165 AFTERMATH_CHECK_ERROR(GFSDK_Aftermath_GetShaderDebugInfoIdentifier(
166 GFSDK_Aftermath_Version_API ,
167 pShaderDebugInfo ,
168 shaderDebugInfoSize ,
169 &identifier
170 ));
171
176 std::vector<uint8_t> data(
177 (uint8_t*)pShaderDebugInfo,
178 (uint8_t*)pShaderDebugInfo + shaderDebugInfoSize
179 );
180 m_ShaderDebugInfo[identifier].swap(data);
181
185 WriteShaderDebugInformationToFile(identifier, pShaderDebugInfo, shaderDebugInfoSize);
186 }
#define AFTERMATH_CHECK_ERROR(FC)
Helper macro for checking Nsight Aftermath results and throwing exception in case of a failure.
#define SPICES_PROFILE_ZONE
void WriteShaderDebugInformationToFile(GFSDK_Aftermath_ShaderDebugInfoIdentifier identifier, const void *pShaderDebugInfo, const uint32_t shaderDebugInfoSize) const
Helper for writing shader debug information to a file.
std::mutex m_Mutex
For thread-safe access of GPU crash tracker state.
std::map< GFSDK_Aftermath_ShaderDebugInfoIdentifier, std::vector< uint8_t > > m_ShaderDebugInfo
List of Shader Debug Information by ShaderDebugInfoIdentifier.

Referenced by ShaderDebugInfoCallback().