Depth testing and alpha blending are two optional stages for fragments once they’ve been processed by the fragment shader. If the depth test is not activated, all the fragments are automatically available for alpha blending. If the depth test is enabled, those fragments that fail the test will automatically be discarded by the pipeline and will no longer be available for any other operation. This means that discarded fragments will not be rendered. This behavior is similar to using the ESSL discard command.
The following diagram shows the order in which depth testing and alpha blending are performed:
Now, let's see ...