Ensure that all spec constants are given a value in the mobile post process shader so that re-spirv can pick up on them and optimize them out of the final shader

This is needed to workaround a bug on Adreno devices when using input attachments and spec constants in the same shader
This commit is contained in:
clayjohn 2025-12-02 11:18:00 -08:00
parent 25203e24c4
commit 4cd65e081d
3 changed files with 8 additions and 9 deletions

View file

@ -324,7 +324,7 @@ void ToneMapper::tonemapper_subpass(RD::DrawListID p_subpass_draw_list, RID p_so
tonemap_mobile.push_constant.white = p_settings.white;
tonemap_mobile.push_constant.luminance_multiplier = p_settings.luminance_multiplier;
uint32_t spec_constant = 0;
uint32_t spec_constant = TONEMAP_MOBILE_ADRENO_BUG;
spec_constant |= p_settings.use_bcs ? TONEMAP_MOBILE_FLAG_USE_BCS : 0;
//spec_constant |= p_settings.use_glow ? TONEMAP_MOBILE_FLAG_USE_GLOW : 0;
//spec_constant |= p_settings.glow_map_strength > 0.01 ? TONEMAP_MOBILE_FLAG_USE_GLOW_MAP : 0;