cancel
Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

Journeyman III
Journeyman III

OpenGL : Dual-source blending not working on AMD integrated GPU

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 !

 

0 Kudos
Reply
1 Reply
Staff
Staff

Re: OpenGL : Dual-source blending not working on AMD integrated GPU

Thanks for your report @Lilou , Could you please provide a minimal code which can reproduce this problem?

0 Kudos
Reply