I'm sure the answer is in the details of the spec, but I'm still not 100% sure of this after reading through them.
What is the behavior for Nvidia's bindless graphics when used with glMapBufferRange and the INVALIDATE_BUFFER_BIT.
I assume if the buffer is currently in use, INVALIDATE_BUFFER_BIT will cause a new buffer to be allocated and the old one to become owned by the driver (And freed once it's finished with it). However shouldn't this make the buffer non-resident, like a call to BufferData()? If I'm caching the residency state of the buffer, do I check to see if the GPU_ADDRESS of the buffer changed after a call to MapBufferRange, to know if I'm not working with a new memory area (which is not yet resident)?
If I'm using INVALIDATE_BUFFER_BIT, do I need to worry about any synchronization issues to do with mapping the buffer while it's in used by bindless rendering? The INVALIDATE_BUFFER_BIT seems to implies it shouldn't, but the spec doesn't specifically talk about this case.
Thoughts?



