Currently we were hoping to use depth writing to give billboards visual quality similar to the real models they represent. Ambient occlusion and screen space shadows really expose that the objects in question are sprites, and using depth writing fixes this. However, when you output to SV_Depth in your fragment shader, your shader suddenly becomes a lot slower. This is because this tells your graphics card to not do depth testing at the beginning of the drawing process, but rather at the very end. This is where SV_DepthGreater comes in to save the day. This allows the graphics card to perform depth testing both on the initial depth value from the rasterizer, and the final depth value from the shader. However guess what? Unity's shader compiler doesn't recognize the SV_DepthGreater semantic in 5.6 as far as we can tell. And believe me, we tried. If you have any ideas on how we can enable this feel free to let us know. Perhaps we can force it to do the initial depth test despite using SV_Depth? So now we're basically facing the possibility of going on a wild adventure of trying to emulate the same result without a depth write, which is turning out to be a huge pain with a lot of work for an inferior result - just because they forgot to expose a DX11 feature in the API. So, does 2018 understand the SV_DepthGreater semantic? Will upgrading from 5.6.5p4 solve all our problems or are we doomed to graphical mediocrity?