Validate packaged P3 shaders and describe bounded shadow atlases

This commit is contained in:
Emil
2026-09-24 04:12:29 +03:00
parent 68261e1401
commit 0ccea33005
5 changed files with 50 additions and 8 deletions
+4 -1
View File
@@ -375,7 +375,10 @@ bool validate_build_generation(const fs::path& directory, const std::string& pac
return false;
for (const auto* shader : {"vertexMain", "fragmentMain", "shadowMain",
"gpuVertexMain", "gpuShadowMain", "gpuCullMain",
"gpuHzbMain", "gpuPostCullMain"})
"gpuHzbMain", "gpuPostCullMain", "lightTileMain",
"temporalResolveMain", "temporalCompositeVertexMain",
"temporalCompositeFragmentMain", "temporalVertexMain",
"temporalFragmentMain", "gpuTemporalVertexMain"})
for (const auto* extension : {".spv", ".reflection.json"})
if (!expected.contains("shaders/" + std::string(shader) + extension))
return false;
+6 -1
View File
@@ -920,7 +920,12 @@ struct BuildService::Impl {
{"required_features", {"dynamicRendering", "synchronization2"}},
{"materials", {"base-color factor and texture", "metallic and roughness factors"}},
{"texture_sampling", "linear clamp, one mip level"},
{"shadow_map", {{"resolution", 1024}, {"world_extent", 40}}},
{"shadow_atlases", {{"sun_cascade_limit", 4},
{"local_face_limit", 16},
{"caster_draw_limit", 4096},
{"preferred_resolution", 2048},
{"fallback_resolution", 1024},
{"sampled_d32_required", true}}},
{"unsupported_material_features",
{"normal maps", "metallic-roughness maps", "emissive and occlusion maps",
"alpha mode selection", "unlit mode", "per-material face culling"}}};