This new inheritance behavior is more beneficial for the metal Backend. Also change the default depth write behavior of shaders to be unchanged. This makes fragment shader depth amendment more explicit. This also add the missing depth_write for metal kernels.