Blend [_SrcBlend] [_DstBlend] Vs Blend Off

I’m wondering, when writing shader, will two of the blend way have difference performance overhead:

Case 1:
Blend [_SrcBlend] [_DstBlend] //Consider I pass [SrcBlend] = One , [DstBlend]=Zero, so the output graphic should be the same as : Blend Off

Vs:

Case2:
Blend Off

I understand case 1 as “dependent blend” so the graphic card always take a blend operation which creates more overhead than Case2 ,which cause graphics card skip the blend operation along the pipeline. Am I correct ?

1 Like

I’ve answered this one before, but I couldn’t find it. For desktop platforms it’s exactly the same, because the driver will do this thinking for you. If the output is the same as disabling blending, the driver will change the call to have blending disabled. These are pretty simple performance improvements. Whether this also holds for other platforms I don’t know.

2 Likes