From what I know, the GPU shouldn't run a pixel shader for a pixel which already failed the depth-test, right?
We're developing a mobile game for WindowsPhone8 at the moment, using Direct3D11. To save some performance we created some geometry which we render behind the planes of our HUD, to not waste shading power to the pixels which will get occluded by our hud at the end anyways.
So what we are basically doing is the following:
- Render HUD-Masks
- Render World
- Render HUD
When disabling the HUD we can see indeed that the pixels would not get into our backbuffer, but even when I let the Masks occlude the whole screen, we do not see any improvement of performance, which should be the case because reducing the resolution drastically improves it. So since we are pixelshader-bound like it seems, why isn't there any improvement? Did we maybe just miss some flag which disables depth-culling?
Or is this just unsupported on mobile GPUs?
Thanks in advance.