"Primitive" in .USF shader?

For example, in MaterialTemplate.usf:

I guess it means FPrimitiveUniformShaderParameters? But where is the “Primitive” defined?


It comes from here:


Basically, when a shader references a uniform buffer by it’s shader name (’.Primitive’ in the above), the engine will automatically find the matching uniform buffer, generate hlsl to represent it, and include this at the top of the usf file. The programmer still needs to set that uniform buffer,

SetUniformBufferParameter(RHICmdList, ShaderRHI,GetUniformBufferParameter(),BatchElement.PrimitiveUniformBuffer);

Where can i get more information about conversation between engine and shader?