All Rust commits from Facepunch
Use a NativeArray for lightShadowData
Updated the LightingPass and Shadows to use the new RenderGraph API
Remove RustRendererFeatureCameraComponentAttribute due to issues with reflection
Remove string interpolation from BlurOptimizedPass
Avoid delegate allocations in SSAOApplyPass
Elimitate GC allocation in terrain depth pre-pass
Fix Forward+ error spam
Add a null-check for renderer feature component creation
Make sure WaterRendererCamera has an explicit constructor (obfuscation problem?)
Add more profiler instrumentation
Move volumetric light beam UpdateCameraRelatedProperties work to vertex shader
Toggle BeamGeometry component when mesh visibility is set by LOD. Fixes UpdateCameraRelatedProperties running for every disabled beam.

fix func call typo
Changed the deferred lights to use per draw light cookies to fix the flickering lights issue
Always log render graph exceptions
Bind dummy buffers when not using RRP to avoid Unity skipping draw calls due to unbound buffers
Add ProfilerMarkers to all built-in RRP passes
Add a ProfilerMarker to every custom RustRenderPass
Avoiding assigning camera.depthTextureMode when not needed to reduce camera serialisation bump

fix stupid auto inserted using

merge from main
Make Rust/Standard SRP-Batcher compatible
Remove _RRP multi_compile keyword
Re-add _UsingRRP dynamic branch
Fix VolumetricLightBeam on RRP

merge from main

create mip-filtered refraction texture before transparent geometry pass

fix string alloc in VolumetricFogShadowPreProcessPass
Add an assertion to catch rare error spam from WaterCamera
Fixed the normal maps not being present on the deploy meshes
Added missing shader passes back to all main subshaders
Added the shadow caster pass back to the cloth shaders
SkinViewer2 prefab RRP fixes after merge
Merge from main
Whitespace fix for BRP_BloomPass
Remove obsolete potato subshaders to reclaim memory
Fixed some issues with the tone mapping and the lift gamma gain

use new RRP/BRP grab pass subshaders for player pixelation
Add some profiler intstrumentation
Update the Standard Refraction With Fog and Standard Refraction Underwater Labs shaders to work with the GrabPass fix for RRP
- Removed shaderLod convar as the setting has become obsolete and we're now using subshader LODs to fix an issue with Grab Passes in RRP. - Updated the TerrainQuality script to no longer rely on the shaderLod convar. - Code gen
Added the missing blit from the DoF pass and updated the way the copy texture is set up
Move colour grading, bloom and exposure apply to UberPostPass to match BRP and enable finer post effect reordering Apply greyscale after colour grade (fixes NVG) Remove linear conversion in ColorAdjustments to match BRP Use linear conversion in greyscale to match BRP
Cherry-pick global_mip_bias onto render_pipeline_testing
Reverted standard shader subshader flip and removed RustRenderPipeline tag for lower LOD subshader
Revert RRP quality level. One cannot simply mix and match pipelines. :cry2:
Reorder SubShaders of Standard Refraction such that RRP is first, GrabPass comes last
Add an RRP quality level to prevent shader variant stripping
Changed to using the global shader maximum LOD for ignoring GrabPasses to set if that works when switching to RRP
Merge from main