#ifndef EMULATOR_SRC_GRAPHICS_HOST_GPU_RENDERER_PIPELINE_BLENDMAPPING_H_ #define EMULATOR_SRC_GRAPHICS_HOST_GPU_RENDERER_PIPELINE_BLENDMAPPING_H_ #include namespace Libs::Graphics { namespace HW { struct BlendControl; } namespace Prospero { struct ColorComponentMapping; } enum class BlendMappingSupport { Direct, SourceAlpha, // Requires logical alpha in the second blend source. SourceAlphaOne, // Source alpha for RGB, one for alpha, with a shared destination equation. Unsupported, }; bool BlendFactorIsDualSource(uint8_t factor); BlendMappingSupport ClassifyBlendMapping(const HW::BlendControl& blend, const Prospero::ColorComponentMapping& mapping); } // namespace Libs::Graphics #endif // EMULATOR_SRC_GRAPHICS_HOST_GPU_RENDERER_PIPELINE_BLENDMAPPING_H_