Force RGBA16F for generated environment cube maps


createEnvironmentMap() picked the cube map format from the source image,
so an RGBA32F light probe (dynamic texture data, EXR) produced RGBA32F
cube maps that are rendered to and then sampled with trilinear
filtering. Linear filtering of 32-bit float textures is optional on
OpenGL ES (OES_texture_float_linear) and Vulkan, and is missing on iOS
and on embedded GPUs such as the Vivante GC7000 in the i.MX8. On those
the prefiltered map samples as black or garbage: the baseline test
customtexturedata/custom_hdr.qml has rendered a black sphere on the
b2qt-imx8qm-mek Lancelot board in every branch, and the stored 6.12
baseline there is a half-corrupted frame.

iOS already worked around this by falling back to RGBA16F. Do that
unconditionally: 16-bit float has ample range and precision for a
prefiltered environment map, and it makes the result consistent across
backends.

Pick-to: 6.12 6.11 6.8
Change-Id: If52b3bd3924baacc3fe45c0eb27e1c026343fdbd
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
commit3b38eb231fc0436d014f914dcf6d3530e43b40fd
parenta1a3e7f3322b1fc920afe4c5dc23b9b67dfd678d
authorJonas Karlsson <jonas.karlsson@qt.io>
committerJonas Karlsson <jonas.karlsson@qt.io>
commit timeMon, 5 Oct 2026 12:58:52 +0000