V2/ue/Tools/plan-v2-shader-distribution.py expands
V2/ue/Build/Shaders/v2-shader-distribution.json into deterministic Horde
shards for ShaderCompileWorker-backed DDC fill jobs. Each shard compiles one
platform and one permutation bucket slice, writes through DerivedDataCache,
and uses the shared cache root $(UE_SHARED_DDC)/V2/DDC.
The shard command uses -AllowShaderCompilingThroughWorkers,
-SharedDataCachePath, and -V2ShaderShard so Horde agents can execute
independent slices while still publishing compiled shader results to the same
network DDC. The manifest keeps the shard size bounded at 512 estimated
permutations and allows up to 48 remote workers.
The generated plan includes the Horde pool, shader formats, package roots,
response file, shared DDC namespace, and command for every shard. The release
evidence path is $(ArchiveRoot)/Shaders/shader-distribution-plan.json.
Required gates:
shader-distribution-plan-generatedshader-distribution-permutation-coverageshader-distribution-farm-shardsshader-distribution-shared-ddc-enabled
The primary metric names are shader.distribution.farm_shard_count and
shader.distribution.permutation_coverage_pct. The CI validator is:
python3 V2/ue/Tools/check-v2-shader-distribution.py