In the Graphics Capture activity I can see buffer device address values - push constant pointers show their address correctly (thanks for adding that in 2025.5, per Vulkan: view device address in Push Constants? ).
What’s missing is any way to navigate from that address to the data behind it. Today it’s fully manual: convert the value to hex, find which buffer’s device address range contains it in the Resources view, open that buffer, compute pointer minus buffer base, type the result into the Memory tab’s Offset field, then hand-write the struct in Structured Memory Configuration.
Request: let me click (or right-click) a device address anywhere it’s displayed and have Nsight open the Resource Viewer on the buffer that contains it, already scrolled to the right offset, interpreted with the struct type the shader declares for that pointer.
Nsight already has the type info. My push constant view labels the fields ObjectData_natural.objectDataBuffer, Mesh_natural.meshAssetDataBuffer, etc. - it knows what each pointer points at, it just won’t follow it.
The offset step matters more than it might look. My engine suballocates almost everything transient out of handful of heap buffers via a virtual allocator, so essentially none of these pointers are a standalone VkBuffer at offset 0 - every lookup needs the subtraction done by hand.
The case I’d most like solved is a pointer stored inside a buffer rather than in push constants. My vertex shaders do:
struct Vertex {
float3 position;
uint32_t normal;
uint32_t tangent;
float2 uvs;
uint32_t color;
};
struct Mesh {
uint32_t indexCount;
uint32_t firstIndex;
Vertex* firstVertexAddress;
uint32_t vertexType;
uint32_t version;
float bxCenter;
float byCenter;
float bzCenter;
float bxExtent;
float byExtent;
float bzExtent;
};
//in vertex shader then:
Mesh mesh = pc.meshAssetDataBuffer[batchInfo.mesh.index];
Vertex v = mesh.firstVertexAddress[vertexID];
so firstVertexAddress is a pointer field inside a struct in another buffer. To
inspect the actual vertex data I have to do the whole find-buffer-and-subtract
dance twice. RenderDoc handles both of this problems by letting you click the sort-of a hyperlink of the pointer.
Setup: Nsight Graphics 2026.3.1, Vulkan, Linux, shaders written in Slang.
That would be a huge QoL for me, thanks in advance.

