In DirectX Specs about Descriptor_Heap_Properties, it said
With the shader visible flag set, the memory pool used for the heap is whatever the driver decides is the best for shader access – most likely system memory for integrated/shared memory GPUs and video memory for discrete memory GPUs.
And then it said in Summary that with the shader visible flag set, the memory pool used for the heap is most likely L0+ for integrated, L+ for discrete or otherwise, with the non shader visible flag set, is L0.
It seems like L0+ stand for system memory and L+ stand for video memory, but what does L0 stand for? system memory? but why not use L0+ too? I know that there are some terms like L1, L2, ... cache in system memory, then L0 maybe stand for register in CPU. But It's not possible, since if L0 stand for registers in CPU, then non shader visible descriptor heap will be created in registers.
I'm really confused. Hope someone could help me.