I'm having issues with dual-source blending (used for OIT) on my AMD integrated GPU when it's working fine on my Nvidia GPU.
First of all, some informations about my hardware and drivers.
Dedicated GPU: NVIDIA Geforce RTX 2060
CPU: AMD Ryzen™ 7 4800H
Integrated GPU: AMD Radeon™ Graphics
AMD Radeon™ Graphics: 26.20.14048.2
To setup the blending functions I used the following code:
glBlendFunci(0, GL_ONE, GL_ONE); glBlendFuncSeparatei(1, GL_ZERO, GL_ONE_MINUS_SRC_COLOR, GL_ONE, GL_ONE);
As a result on my AMD GPU, it looks like both of the draw buffers 0 & 1 are using the same blending function -> glBlendFunc(GL_ONE, GL_ONE);
I could also note that if I avoid using dual-source blending by doing two passes, it works just fine.
// First pass
// Second pass
glBlendFuncSeparate(GL_ZERO, GL_ONE_MINUS_SRC_COLOR, GL_ONE, GL_ONE);
I suspect there is a bug in the drivers, is this a known issue ?
Have a nice day !