Surfaces are seperated in NVidia graphics

All surfaces a seperated in NVidia graphics when using a shader, which uses only shadowmap and normalmap. But the whole thing runs great on IntelHD.
Can anyone help what can be the reason. The whole code is too big to attach, but pls mention if any part can help

Polygon smoothing requires that the framebuffer has an alpha channel and that primitives are rendered from front to back with depth tests disabled and the correct blending function used. As such, it's rarely useful. The modern alternative is multi-sampling, which doesn't require primitives to be depth-sorted; however, it does increase memory consumption and bandwidth.