Fix dense terrain grass review findings
Address the verified rendering review findings on feature/dense-terrain-grass. Outcome: - Animated render pipelines use the same material descriptor-set layout as InstanceBuilder without double-destroying shared Vulkan handles. - GPU layout contract tests cover the duplicated Instance declaration in grass_vertex.glsl and ShadowUniformBufferObject declaration in grass_fragment.glsl. Acceptance criteria: - Animated material descriptor sets are layout-compatible with pipeline set 2. - Descriptor-set layout ownership and disposal remain correct. - EngineUniformLayoutTests validate both grass shader declarations. - Relevant PRK.GraphicsEngine tests/build pass. Validation: - EngineUniformLayoutTests: 3/3 passed. - A full PRK.GraphicsEngine.Tests run compiled successfully and completed 3,701 tests: 3,548 passed, 59 skipped, and 94 install-dependent tests could not run because AO_CLIENT_ROOT, PRK_INSTALL_ROOT, and PRK_DATAROOT are unset.
Checklist
3 of 3 complete- Share InstanceBuilder's material descriptor layout with animated pipelines and preserve single ownership
- Add grass shaders to the shared GPU layout contracts
- Run focused tests and build validation
- Area
- Project Rubi-Ka
- Project
- engines
- Kind
- Bug
- Priority
- High
- Task ID
tsk_f8fxrh75j8- Updated