I successfully recorded a DX11 diag session once. When running it the second and any further time, when I click on a frame I get this error:
An error occured. Playback of your application may be incomplete. (HRESULT = 0x00630000) "Unknown error (0x00630000)"
I capture frames programmatically, using the code shown here in Microsoft Docs. It worked before with other shaders as well as the one I'm debugging now.
I have a RAII class for the debugging:
class GPUBlock
{
public:
GPUBlock() : _startResult(DXGIGetDebugInterface1(0, __uuidof(_directXAnalysis), reinterpret_cast<void**>(&_directXAnalysis)))
{
if (debugInitialized())
_directXAnalysis->BeginCapture();
}
~GPUBlock()
{
if (debugInitialized())
_directXAnalysis->EndCapture();
}
bool debugInitialized() const { return _directXAnalysis && !FAILED(_startResult); }
private:
IDXGraphicsAnalysis* _directXAnalysis = nullptr;
HRESULT _startResult = OLE_E_BLANK;
};
Used as:
{
Debug::GPUBlock debugGPUplease;
DoGPUWork();
}