This web page pretty much explains what formats are always supported ("Required Formats" section).
For others, you can use glGetInternalFormat to check for a particular internal format at run-time, which might be hardware-dependent.
To find our overall support for some specific compressed formats there's a nice database site (which also has very useful information regarding OpenGL extensions):
http://opengl.gpuinfo.org
Edit: Raspberry PI doesn't support OpenGL ES 3, nor https://www.khronos.org/registry/OpenGL/extensions/OES/OES_texture_float.txt, which would explain your results regarding floating-point formats. For OpenGL ES, there is also ARB_internalformat_query2, although RPi doesn't seem to support it either, so you are pretty much limited to almost minimal OpenGL ES 2.0 spec (see Table 3.1 - Texture Image Formats and Types, on page 20).
Bookmarks