Hi, I found alpha blending is broken when I use PMA shader with URP 2D additive light.
This is spine animation with additve 2d light. Alpha blending is broken.

This is my spine animation's material. Spine animation is export with PMA ticked.

My workaround is modify some shader code to make it works, but I am not sure it is correct fix or not.
In Shaders/2D/Include/Spine-Sprite-StandardPass-URP-2D.hlsl Line 96
Replace half4(main.rgb, 1) to main.
half4 pixel = half4(CombinedShapeLightShared(main, mask, input.lightingUV).rgb, main.a);
In Shaders/2D/Spine-SkeletonLit-URP-2D.shader Line 116
Also replace half4(main.rgb, 1) to main.
return half4(CombinedShapeLightShared(main, mask, i.lightingUV).rgb, main.a);
In URP package /Shaders/2D/Include/CombinedShapeLightShared.hlsl Line 25, 44, 63, 82
Add something like this. (X should be correspond to _ShapeLightTexture's index)
#if _ALPHAPREMULTIPLY_ON || !_STRAIGHT_ALPHA_INPUT
shapeLightXAdditive *= color.a;
#endif
Is PMA shader not support 2D additive lights yet? Or something I doing wrong.
Thanks for your helping.. 🥰