The "shader" would take in the current application-specific description of the scene.
This description in theory would be much much much smaller than the corresponding assets required to render the scene. It would be trivial to eagerly bind to the shader.
The asset shader API could provide information on the current GPU's texture rendering parameters/quirks.