Hi !
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.
Hardware:
Dedicated GPU: NVIDIA Geforce RTX 2060
CPU: AMD Ryzen™ 7 4800H
Integrated GPU: AMD Radeon™ Graphics
Driver version:
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
glDrawBuffer(GL.COLOR_ATTACHMENT0);
glBlendFunc(GL_ONE, GL_ONE);
Draw();
// Second pass
glDrawBuffer(GL.COLOR_ATTACHMENT1);
glBlendFuncSeparate(GL_ZERO, GL_ONE_MINUS_SRC_COLOR, GL_ONE, GL_ONE);
Draw();
I suspect there is a bug in the drivers, is this a known issue ?
Have a nice day !
Thanks for your report @Lilou , Could you please provide a minimal code which can reproduce this problem?