GL_MAX_SHADER_STORAGE_BLOCK_SIZE is required to be at least 227 (=128 MiB) in 4.6. GL_MAX_TEXTURE_BUFFER_SIZE is required to be at least 65536 (that’s in texels, each of which can hold 4 floats). So those are sufficient. GL_MAX_UNIFORM_BLOCK_SIZE is only required to be at least 16384 (bytes, so 4096 floats).
But for a deferred shader, you might render individual light volumes, in which case you could use per-instance attributes.
[QUOTE=Geklmin;1291168]That’s exactly what I intend to do, but only to the limit of what a uniform int is set to
I’m trying to support a reasonably infinite number of lights.[/QUOTE]
That’s going to run like shit.
Not only that, but you’re going to find it difficult to integrate shadows should the time come when you want to do shadows (and you will).
Games like Doom 3 which do the kind of lighting you’re interested in don’t do it this way. Instead they multi-pass, with each light being a separate pass using additive blending. This ran well on 2004-era hardware, so you shouldn’t make pre-emptive assumptions about performance.