Bake a 300es GLSL variant for OpenHarmony


The HarmonyOS emulator translates OpenGL ES to Metal, and its
GLES 3.0 shader compiler rejects the GLSL ES 1.00 shaders that
qsb generates for the default "100es" target: the uniform block,
lowered to a uniform struct, together with gl_FragData does not
translate, so every graphics pipeline fails to build and nothing
is rendered. Real hardware accepts these shaders, so this only
affects development against the emulator.

Add a "300 es" target alongside "100es" so the OpenGL backend can
select a modern shader on the emulator's ES 3.0 context. That
variant uses a real uniform block and explicit fragment outputs,
which the emulator translates cleanly. The desktop 120 and 150
targets are never used on GLES-only OpenHarmony and are dropped,
mirroring the existing Emscripten handling.

Pick-to: 6.12
Change-Id: If51d3b76788c67558e4f6e371ce89fe5d16bf0d5
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
commit0dd8414cc502f4a976bad6cdc2e913eaf2abc87f
parentd25fcc21d8cf9da8d85a9276766a2afcc93892bf
authorAndy Nichols <andy.nichols@qt.io>
committerAndy Nichols <nezticle@gmail.com>
commit timeThu, 23 Jul 2026 06:35:06 +0000