Is there a reason why CUDA supports such a restricted set of image formats?

I’ve been working on some CUDA<>OpenGL interop code and was surprised to see that you can’t register a GL_RENDERBUFFER with CUDA unless its storage internal format is from a rather restricted list.

The use case is creating a CUDA surface reference to an RGB Renderbuffer. I don’t need the alpha channel.

The workaround is simple – just choose an RGBA8, or one of the formats in the list.

I’m just wondering if I’m missing something?