Live replay fails with error: VK_ERROR_OUT_OF_DEVICE_MEMORY

I cant seem to make live replay work after migrating to using slang from dxc.

Here’s the log I get:
D3D12:

NVIDIA Nsight Graphics Capture Replayer

Loading Capture File:
> Loading File ................................. 100% (1ms)

Capture Information:
> Process....................................... ArcEditor
> Command Line.................................. "D:\Projects\ArcEngine\bin\Release\ArcEditor.exe" -gfx-api=D3D12
> UUID.......................................... 6e5ddf54-c3f5-47f3-819b-3d9b0ca14492
> Time.......................................... 2026_05_17_14_51_29
> Nsight Version................................ 2026.1.0
> Nsight Build Id............................... 37556978
> Operating System.............................. Windows 11 (25H2)
> Primary GPU................................... NVIDIA GeForce RTX 4060 Laptop GPU
> Driver Vendor................................. NVIDIA
> Driver Version................................ 596.54
> Primary API Version........................... D3D12
> D3D12Core Version............................. 10.0.26100.8328
> Non-Portable.................................. False
> Captured Frame................................ 43

Replay Information:
> Nsight Version................................ 2026.1.0
> Nsight Build Id............................... 37556978
> Operating System.............................. Windows 11 (25H2)

Initializing Replay:
Failed to register application to profile via capture path, 'D:\Projects\ArcEngine\bin\Release\ArcEditor.exe' via NvAPI, status=-166
> Bucketing Resource Types ..................... 100% (0ms)
  > Application specific driver state found but not applied.  To enable use --enable-dx12-application-specific-driver-state.
  > Using Replay GPU: NVIDIA GeForce RTX 4060 Laptop GPU
  > Using Replay Driver Version: 596.54
  > D3D12 checkpoint buffer: 0x20f3a589000
> Resource Creation & Initialization ........... 100% (1353ms)
> Initializating Descriptors ................... 100% (9ms)
> Initializating Command Lists ................. 100% (0ms)
> Finishing Resource Data Initialization ....... 100% (19ms)
> Decoding Function Stream ..................... 100% (6ms)
> Collecting Event Information ................. 100% (2ms)
> Collecting In-Frame GpuMemoryObjects ......... 100% (0ms)
> Collecting Event Mutations ................... 100% (11ms)
> Resource Access Collection ................... 100% (16ms)
> Function Stream Optimization ................. 100% (0ms)
> Function Stream Pre-Pass ..................... 100% (0ms)
> Initializing Resource Reset .................. 100% (80ms)

Initialization Complete:
> Total Initialization Time .................... 1.86s
> Function Count ............................... 567
> Event Count .................................. 18094
> Resource Data Initialization ................. 3113 @ 1.96 GiB
  > [D3D12] Resource ........................... 3113 @ 1.96 GiB
> Resource Data Reset .......................... 2 @ 4.2 MiB
  > [D3D12] Resource ........................... 2 @ 4.2 MiB
> Heap Usage
  > Heap[0] (Dedicated)......................... 2.34 GiB / 7.02 GiB (33.30%)
  > Heap[1] (Shared)............................ 55.4 MiB / 18.8 GiB (0.29%)
> Initializing Execution Engine ................ 100% (0ms)
Fatal Exception: EXCEPTION_ACCESS_VIOLATION

Vulkan:

NVIDIA Nsight Graphics Capture Replayer

Loading Capture File:
> Loading File ................................. 100% (1ms)

Capture Information:
> Process....................................... ArcEditor
> Command Line.................................. "D:\Projects\ArcEngine\bin\Release\ArcEditor.exe" -gfx-api=Vulkan
> UUID.......................................... d3121f64-64f3-48d2-90e9-1f0180fa21eb
> Time.......................................... 2026_05_17_14_56_39
> Nsight Version................................ 2026.1.0
> Nsight Build Id............................... 37556978
> Operating System.............................. Windows 11 (25H2)
> Primary GPU................................... NVIDIA GeForce RTX 4060 Laptop GPU
> Driver Vendor................................. NVIDIA
> Driver Version................................ 596.54
> Primary API Version........................... Vulkan
> D3D12Core Version............................. 10.0.26100.8328
> Non-Portable.................................. False
> Captured Frame................................ 26

Replay Information:
> Nsight Version................................ 2026.1.0
> Nsight Build Id............................... 37556978
> Operating System.............................. Windows 11 (25H2)

Initializing Replay:
Failed to register application to profile via capture path, 'D:\Projects\ArcEngine\bin\Release\ArcEditor.exe' via NvAPI, status=-166
> Resource Creation & Initialization ........... 100% (1319ms)
  > Injecting device extension: VK_EXT_private_data
  > Injecting device extension: VK_NV_device_diagnostic_checkpoints
  > Descriptor heap capture/replay enabled
  > Using Replay GPU: NVIDIA GeForce RTX 4060 Laptop GPU
  > Using Replay Driver Version: 596.54

FATAL INITIALIZATION ERROR: Failed to Create Resource
> UID:         13379
> API:         Vulkan
> Object Type: Image
> Thread:      255
> Error:       VK_ERROR_OUT_OF_DEVICE_MEMORY (A device memory allocation has failed.)

Both have this error: `Failed to register application to profile via capture path, ‘D:\Projects\ArcEngine\bin\Release\ArcEditor.exe’ via NvAPI, status=-166`

Hi,

Thank you for reporting this.

Could you please provide a simple reproducible example so we can investigate this issue further? A minimal sample or capture that reproduces the issue would help us better diagnose the problem.

Thanks,
An

Hi,

I’m sorry for the bogus bug report.

It seems to be working for D3D12, its just that I was pressing “Capture” before the app was connected to Nsight.

But its still the same for Vulkan, I guess its not slang, I verified it by going back before I moved to slang. I’m not sure what it can be (I’m using VK_EXT_descriptor_heap and hostImageCopy if that matters). But it always seems to give me similar error- VK_ERROR_OUT_OF_DEVICE_MEMORY.

I’ve attached the problematic capture here:

FYI, VK_EXT_descriptor_heap is not yet supported for capture or replay. I’m not sure if using it could lead the replay to give VK_ERROR_OUT_OF_DEVICE_MEMORY, but in any case the replay wouldn’t work. We will have an update to share about VK_EXT_descriptor_heap very soon.

Oh Alright! Thanks for letting me know.
I thought Vulkan beta driver- March 9th, 2026 - Windows 595.84, added support for it. It had
“descriptorHeapCaptureReplay support” mentioned. Anyhow, I’ll wait for the support to be in :)

Thanks a lot!

Good eye! Indeed the beta driver adds that support, but it also requires updates to Nsight Graphics for it to be used.

In case you didn’t see it yet, 2026.2 has been released with initial descriptor heap support! Can you try it out with the beta driver and report back?

I tried it out this morning and live replay seems to be working with my setup (VK_EXT_descriptor_heap + untyped pointers, no mappings). Will test extensively this evening and report back here.

Thanks for the update :)

Seems to be working well until I ran this very simple compute shader.

[shader("compute")]
[numthreads(8, 8, 1)]
void CS_Main(uint3 tid : SV_DispatchThreadID, uniform Push_Data PushData)
{
	if (PushData.Output == 0)
	{
		return;
	}

	uint width;
	uint height;
	RWTexture2D<float4> Output = DescriptorHandle<RWTexture2D>(PushData.Output);
	Output.GetDimensions(width, height);

	if (tid.x >= width || tid.y >= height)
	{
		return;
	}

	Output[tid.xy] = float4(1.0f, 0.0f, 0.0f, 1.0f);
}

And I got a crash. I could simulate the same crash if I added VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT to the vkMemoryAllocateFlagsInfo’s flags but without it I was able to run it fine with no validation errors.
Not sure if its nsight or driver bug or me.

compute.zip (782.6 KB)
Here’s the aftermath crash dump


Also, it doesnt seem to track the “accessed descriptors” and shows everything. I think thats what “GPU-driven modifications to the heap are not currently tracked” means from the release notes so I’ll not complain about it.

Also, for some reason D3D12 capture doesnt show me descriptor heap resource usage in API inspector at all but in Object Browser I can select a resource and see that its read by the same event that I have selected. Am I missing something?

Hi @m0hitsethi,

This topic has been solved since your original issue was fine with latest Nsight Graphics 2026.2. If you have a new issue, please start a new topic instead.

Thanks
An