I can call glBufferData and afaik allocate 8gb of memory without an error (though the card only has 6).
However there's not much point creating 2gb or more since the index argument for imageLoad is a signed int and can only index up to 2gb.

Is this where image units stop and bindless graphics is the only way to index more data continuously?

Will there be x64 extensions to image units, or are there already? I'd happily take unsigned x32 addressing to give up to 4gb for now.