Overlapping descriptor heaps bug

Hi everyone,

I get unexpected results when I call GetCPUDescriptorHandleForHeapStart() on certain descriptor heaps. The returned handle’s ptr value is always 3 for the first heap that I create, 4 for the second heap, 5 for the next one, and so on. The size of a descriptor heap is obviously not just 1 byte, so this means that there’s a lot of overlap debuglogs output when I use CopyDescriptors(), although it work correctly.

This only happens with CBV_SRV_UAV and SAMPLER descriptor heaps, regardless of their shader visibility. Other types of descriptor heaps start at much larger addresses (e.g., 2029815602608) and their ranges don’t overlap, which is what I would expect.

My system has a GTX 2060 with driver version 419.67 installed. I tried in other computer which has a GTX 1060 with driver version 398.82,but the ptr value start at larger addressrs and don’t overlap.

I don’t experience this problem when I use WARP and/or enable the debug layer.

Is this a driver bug or am I missing something here?