730 Commits over 608 Days - 0.05cph!
▄ ▄▊▍▊▉▋▋▇ ▅██▉█▄▇ ▆▍▋▊▋▇▆▅▇ ▊▋▋▊▉▇▋▇▅ ▍▍ ▆█▆▇▄▅▆ ▄▇▇▍▆█▅▊▄ █▊▆▊ ▋█▊▄▋▄▄▋
█ ▅▉▆▆▍█▅▍ ▄▅ ▄▉▌▍█▄▄ ▊█▇▊▋▅▄ ▋▆▌▋▅▅▍ ▅▄▌ ▌▋█▊▊ ▋▇▉▊▋
▍ ▌▌▄▌▄▍▊▌ ▊█▆▌▇▆▌▊█▊▄▆▇▊▋▍ ▄▇▆▉▇▌▊
Shader changes for indirect instancing (changes which are likely not required)
Shader changes for indirect instancing (supported shaders)
Shader changes for indirect instancing (include files)
Remove old unused LOD fading variant
Clean up instancing shader code and remove old instancing code
Merge material changes for indirect instancing
Merge indirect instancing tools (standalone edition)
Fix material changes never being actually applied
▍ ▉▇▋▉▆ ▋▅▋█▄▋▊ ▇▋ ▆▅▍▍▇ ▌▆▇▄█▍▌ ▋▊ ▆▉▅▋█▌ ▋ ▆▊▆▌▌▅▊▋▄▋▄ ▌▊▇▆▍▇ ▋█▊▅ ▇▆ ▉▇▍ ▉█▌▍▄▆▉▄▄█ ▋▄▉ ▋▊▊ ▍▊ ▍▄▅▆ ▍▊ ▋▄▍ ▅▉▌█▊▉▌▉▅▌ ▅▋▌ ▇▊▆▌▆ ▆▅▋▄▉█▊
Enable instancing on 3042 supported materials
▊ ▉▇▊▄█ ▆▅█▋▊▍▋▅▋▄ ▍▋▊▉▉▌▊▉█ ▉▆ ▉▌ ▅▍█▋▅▇ ▆▍ ▌▉▆ ▅▇▍▉▌▍ ▊▊ ▊▄▄█▄
▅ ▇▋▇▉▊ ▌▊▇█▍▅▄▊▄▇█ ▅▊ ▅█▉ ▉▅ ▇▍█▍▉▇ ▉▆▇▅▍▆ ▄▅▇▊▇ ▄▇█▆▅▇▊▉▍
▊ ▄▄▅▅▋ ▇▅▆▄▅▇ ▇▄▇▋▄▉▊▋▆▇▇▌▆ ▆▉▇▇ ▉▅▍▌▅▊ ▆▆ ▉▅▄▊▋▋▇ ▋▆▄▊█▋▌▉ ▊▆ ▄▇▊▅ ▌▌▅▄▌ ▊▌ ▆█▆ █▅▉▉ ▇▉ ▅▉ ▉▍▄▄▆▍▌ ▉▊▊▇ ▊▄▇▉ ▄▊ ▇▌▉▍
▄ ▅▍▉▋▅▄▊▌▍▍▄▇ ▉▆▌ ▌▊▉▉▌▉▌▋▍▇▍██▅▄▅ ▊▄▉▄▋█▊ ▇▇ ▍▄▄▅ ▉▍ ▉▅▇ ▉▅█▊██▆▅▉█▅▉ ▅▋ ▌▌▇▆▍▅▅▇▍▅▆▍▉▌▊█▇▇▇▄▊▌▋▄▉▄▋▊▍▆▆▋▋▇▅
Add indirect instancing tools (modified to work standalone)
▆ ▋█▇▄▄▇▅▄█▍▇ ▄▋▋▉█▇▅▋▌▍▇▉▉▊▄▅ ▇▄▉
▅ ▅▄▍ ▅▆█▅▋▊█▋▊▊▇▆▊▅▄▍ ▊█▍▌▇█▇ ▍▋ █▋▊▌ ▊▊ ▇▊▌ ▋▋▆▆▇▅▆▊▅▇█▅ ▉▉ ▄▅▄▋▅▅▉▊▍█▇▇▌▋▍▄▄▍▉▋▇▇▋█▄▌▊▋▆▄█▊▍▆▊
- Add support for material property blocks in the fallback renderer
- Fix retro tool cupboard transparency-related rendering issues
Enable more materials for instancing that weren't caught previously because of a buggy automation in indirect instancing tools
Linearise colour values before storing them in the instance data buffer
Cleanup/polish indirect instancing tools
Small Cleanups:
- use Mathf.NextPowerOfTwo in BufferList
- remove CommandMemoryBase.damage_bitmap
- revert changes to MainCamera
- remove FormerlySerializedAs in RendererLOD
Keep instancing disabled by default
Strip debug code out into separate files
Remove old unused job code
- Properly support material property blocks (for real this time)
- Disregard LOD minimum distance for the 0th LOD entry to prevent objects hiding from getting too close to them.
- Fix ConVars
- Various cleanups
Split crude profiler and memory tally into separate files as they should
- Add more ConVars and explainations to indirect instancing
- Disable indirect instancing by default
- Disable debug info by default
- Fix multiple NREs when returning to the main menu
- Add assertions to catch use after free with the crude profiler / memory tally
Check for AVX2 support instead of FMA because Burst won't compile for FMA specifically.
Enable 3052 materials for instancing
Final SIMD frustum culling implementation for x86/AVX and untested implementation for ARM/Neon
Fix ARM/Neon SIMD (and non-SIMD) code for frustum culling.
Implement NativeArray.ReinterpretLoad() for NativeArray.ReadOnly to avoid triggering concurrency checks.
Fix unity_BaseCommandID not being set on Mac
Fix stencil buffer incompatibility in Standard and Standard-Terrain
Merge from ./command_buffer_indirect because I'm stupid
Revert model importers and materials to the state they have on /main
(WIP) SIMD frustum culling implementation