DepthNormalPrepassLayer stub, DepthNormal shader class consumes from S_MODE_DEPTH
DepthNormals mode, uses values directly instead of Material, attach it to ShadingModels
Ignore and don't compile combo if it's not referenced by a mode or feature instead of erroring out, e.g. We want to reference DepthNormal.hlsl everywhere in Class.hlsl, but we want to only have combos for it if we're using a DepthNormal mode without complicating the codebase, this way when adding a new mode that references that combo, it's added to the shader without convoluting the source, argue with me if you think this is shit behavior
Temp bind FindOrCreateRenderTarget and use managed rendertarget for depthnormalprepasslayer
Should be continue rather than break, fix undefined identifier if S_MODE_DEPTH_NORMAL is not set
Pass MSAA value from pipeline, make DepthNormals a dynamic combo instead of a mode, conditional
Add Normals.hlsl, with fallback if no depthnormals are available, add Bindless::GetTexture2DMS
Adjustments, Depth Prepass Depth Only under a convar, do depthnormals without size cull threshold
GTAO uses Normals::Sample() instead of recalculating normals from depth
https://files.facepunch.com/sampavlovic/1b1711b1/sbox-dev_e5dHGELNmU.mp4