[vulkan] Fixed dual-source blending to correctly map shader outputs. (#3637)

Fixes Skyward Sword HD eye gitch and a related MoltenVK crash due to the incorrect output mapping. Verified working on mac and android.

The test in vk_pipeline_cache.cpp is a bit ugly, but it didn't seem worth it to go lambda/macro just to make it look cleaner. Could change if necessary.

Co-authored-by: tarako <none@none.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3637
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: tarako <r76036296@gmail.com>
Co-committed-by: tarako <r76036296@gmail.com>
This commit is contained in:
tarako 2026-03-03 01:54:57 +01:00 committed by crueter
parent 464212393e
commit d720a7b4b4
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
4 changed files with 58 additions and 4 deletions

View file

@ -110,6 +110,9 @@ struct RuntimeInfo {
/// Output types for each color attachment
std::array<AttributeType, 8> color_output_types{};
/// Dual source blending
bool dual_source_blend{};
};
} // namespace Shader