BDRF.USF models like cheaper Blinn-Phong with stable textures. What is the functionality of the rest?

Before anyone mentions some of the older threads, this one is a dead end.

This link :How to modify BRDF.ush file to switch to phong shading model? (instead of Unreal's GGX default) has a solution similar to what I’m looking for but it causes texture issue and I’m not seeing a reduction in power usage which is generally big difference in GGX and Blinn-Phong.

Lumen and all the other stuff like RT effects work just as fine.

Engine/Shaders/Private/BRDF.ush

OG code:

// GGX / Trowbridge-Reitz
// [Walter et al. 2007, "Microfacet models for refraction through rough surfaces"]
float D_GGX( float a2, float NoH )
{
	float d = ( NoH * a2 - NoH ) * NoH + 1;	// 2 mad
	return a2 / ( PI*d*d );					// 4 mul, 1 rcp
}

Changed to Blinn-Phong function:

// Micro optimization for function below
#define INV_TWO_PI 0.15915494309189535  // 1 / (2 * PI)

// GGX / Trowbridge-Reitz
// [Walter et al. 2007, "Microfacet models for refraction through rough surfaces"]
float D_GGX(float a2, float NoH)
{
    float n = 2.0 / a2 - 2.0;
    return (n + 2.0) * INV_TWO_PI * ClampedPow(NoH, n);
}

It definitely replaces GGX with Blinn-Phong but here are the texture issues I’m running into:
Video Link

All texture exhibit this square loading pattern.
I need that fixed so any ideas?

Also the BDRF.USF has a lot of models like Cook Torrance but still trying to understand if they can be used without recompiling source code or are they just there for compatible reference(current workflow)?

The best thing would to have hybrid BDRFs per material(save performance where can be applied) but not sure if that’s possible?

2 things here. do whatever to the shaders.

the loading pattern is the virtual texture system streaming in higher res tiles. not a shader issue.

But it only happens when I change the GGX function?

Bump.

Why is the does changing the BDRF function break VT maps?

You have to normalize it as well for PBR
Here’s the full Blinn Phong with Metallic and Fresnel

The square texture pattern is probably not caused by the BRDF distribution alone. Changing D_GGX alters assumptions around roughness and specular filtering, so it can expose issues with mip selection or texture filtering.

If you’re mainly chasing performance, I’d benchmark the shader cost first, as replacing GGX may not provide a significant gain when the rest of the lighting pipeline remains unchanged. Hybrid BRDFs are possible, but you’d likely need material-level branching or separate shading models, and the actual benefit depends on how those paths compile and execute. The other BRDF functions in BRDF.ush are generally building blocks/reference implementations, not automatically selectable models without modifying the relevant shading code and recompiling shaders.