Alpha v1.0.0

Commits

All Rust commits from Facepunch

289 total commits for branch:
/

Member Avatar
Felix22/10/202512:55:05
rust_reboot/main/indirect_instancing (#134994)

Disable terrain culling by default

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix22/10/202512:54:17
0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Hidden Commit
This commit has been hidden by Facepunch.
Member Avatar
Felix22/10/202512:53:26
rust_reboot/main/indirect_instancing (#134992)

Add `indirect_instancing.use_instance_mask` for in-build debugging purposes

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix22/10/202512:52:28
rust_reboot/main/indirect_instancing (#134991)

- Fix inaccuracies in terrain culling raycast - Fix terrain culling issues around terrain holes - Add generic SIMD vector types `float8x3` and `int8x3` for terrain culling and future use - Make the first culling layer (LOD/Distance) respect the instance occupation mask - Add `terrain.debug` command to visualise how the culling system sees the terrain height map - Fine tune `tc_max_iterations` to 512

4
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix18/10/202511:47:56
rust_reboot/main/indirect_instancing (#134618)

- Fix random low res mip levels by using NativeParallelMultiHashMap instead of FixedList to avoid running out of space. - Fix dropping off-screen instances to low res mip levels by considering all instances for mip level calculations instead of just culling surviors. The old off-screen behavior can be examined by setting `indirect_instancing.streaming_use_all_instances 0`. - Mitigate dropping Unity renderers to low res mip levels when Unity's and Indirect Instancing streaming systems disagree by calling ClearRequestedMipmapLevel() when we have determined mip 7.

13
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix17/10/202517:52:39
rust_reboot/main/indirect_instancing (#134592)

Fix floating point overlow in mip level calculation

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix17/10/202515:56:55
rust_reboot/main/indirect_instancing (#134569)

More debugging ConVars

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix17/10/202512:15:15
rust_reboot/main/indirect_instancing (#134529)

- Clean up texture streaming jobs - Fix wrong camera position in Streaming_FallbackSquaredDistanceJob - Add various debugging ConVars - Add "Indirect Instancing" UI Indicator

1
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix16/10/202515:42:28
rust_reboot/main/indirect_instancing (#134413)

Experimental frame synchronisation ConVars

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix16/10/202511:19:18
rust_reboot/main/indirect_instancing (#134364)

Fix monster mesh rendering issue

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix15/10/202516:52:42
rust_reboot/main/indirect_instancing (#134287)

Re-apply CodeGen

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix15/10/202516:47:38
rust_reboot/main/indirect_instancing (#134284)

Reset some CodeGen to their state on /main

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix15/10/202516:30:49
0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix15/10/202516:27:15
rust_reboot/main/indirect_instancing (#134277)

Rebase on /main

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix15/10/202515:06:23
rust_reboot/main/indirect_instancing (#134261)

Rebase on /main

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix15/10/202513:45:57
rust_reboot/main/indirect_instancing (#134237)

- Create buffers with correct flags according to `buffer_upload_mode` - Set default buffer upload mode to be "indirect" (1) - Disallow changing `buffer_upload_mode` during gameplay

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix14/10/202515:07:21
rust_reboot/main/indirect_instancing (#134119)

un-gate indirect instancing for testing purposes

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix14/10/202515:04:45
rust_reboot/main/indirect_instancing (#134118)

Fix build by scrapping the function pointer idea.

2
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix13/10/202518:07:09
1
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix13/10/202517:47:05
rust_reboot/main/indirect_instancing (#133993)

- Fix rendering issues due to various jobs executing for command indices that are no longer in use. - Fix broken debug draw when damage region bitscan job is active. - Split `surviving_command_counts` into `command_counts_after_culling` and `command_counts_after_reordering` for clarity. - Create a universal IsCallVisible() function instead of the mess we had before

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix10/10/202518:16:47
rust_reboot/main/indirect_instancing (#133854)

- Rewrite the buffer update logic to ensure a direct update only happens once per frame to make DX11 happy. - Always update the entire buffer to make greedy GPU drivers happy. - Add IGraphicsBuffer wrapper because Unity didn't do it so I can finally stop copy/pasting everything. - Use a function pointer (👻) in damage region processing for similar reasions. - Unlock the arrays in Update in case OnPreCull wasn't called. - New debugging ConVars: `reorder_instances_job`, `damage_bitscan_job` and `buffer_upload_mode`

4
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix10/10/202500:17:17
rust_reboot/main/indirect_instancing (#133727)

A whole marathon of Indirect Instancing changes: - Schedule all jobs at the beginning of LateUpdate() for better worker utilisation. - Further improve scheduling behavior by modeling actual dependencies between jobs using writes_to_* and reads_from_* handles. - Allow instance reordering and command aggregation to run in paralell to give even more flexibility to the scheduler. - Run the debug overlay (where possible) in parallel with the jobs to improve performance - Avoid garbage allocation when scheduling the frustum culling job. (GeometryUtility.CalculateFrustumPlanes) - Schedule all jobs using ScheduleByRef. - Correctly set `[ReadOnly]` and `readonly` for all jobs to help Burst as much as possible. - Make batch size tunable: `indirect_instancing.batches_per_worker` - Add somewhat automatic instrumentation to CrudeProfiler via `using` statements. - Add ProfilerMarker to mimic what Unity 6 is doing with `using` statements. (Still need to verify it this compiles out properly.) - Add more profiler instrumentation. - Rename a ton of things for clarity. - Remove CommandBuffer. We won't need it where we're going.

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix09/10/202510:09:57
rust_reboot/main/indirect_instancing (#133593)

Some cleanups

2
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix09/10/202509:51:35
rust_reboot/main/indirect_instancing (#133587)

Fix burst compile issues by bringing back `DamageRegion` struct

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix08/10/202517:12:19
rust_reboot/main/indirect_instancing (#133496)

Jobify the damage region scanning for instance data

1
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix07/10/202514:24:39
rust_reboot/main/indirect_instancing (#133295)

First implementation of hybrid monster meshes

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix07/10/202510:43:33
rust_reboot/main/indirect_instancing (#133246)

Merge from /indirect_instancing/layers

1
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix06/10/202520:26:10
rust_reboot/main/indirect_instancing (#133177)

Slightly optimise command reordering

2
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix06/10/202520:07:24
rust_reboot/main/indirect_instancing (#133176)

Jobified instance reordering

3
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix03/10/202514:15:16
rust_reboot/main/indirect_instancing (#133039)

Merge bitmapped_damage_tracking → indirect_instancing

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix30/09/202512:11:39
rust_reboot/main/indirect_instancing (#132589)

Clean up some failed experiments

0
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix29/09/202519:23:37
rust_reboot/main/indirect_instancing (#132523)

Fix nothing rendering for real this time.

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix28/09/202514:32:34
rust_reboot/main/indirect_instancing (#132344)

Fix nothing actually rendering with new Graphics.DrawMeshInstancedIndirect based draw call submission

0
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix28/09/202512:52:22
rust_reboot/main/indirect_instancing (#132342)

Fix NRE in Indirect Instancing debug overlay

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix28/09/202512:52:06
rust_reboot/main/indirect_instancing (#132341)

Add agressive optimisation attributes to the hot path of Indirect Instancing.

2
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix26/09/202513:08:59
rust_reboot/main/indirect_instancing (#132245)

Rebase on /main (save 271)

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix26/09/202511:53:38
rust_reboot/main/indirect_instancing (#132219)

Regenerate ConVars and force bounds to be always huge (experiment)

0
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix25/09/202521:18:32
rust_reboot/main/indirect_instancing (#132167)

Add a third submission mode to indirect instancing which works through `Graphics.DrawMeshInstancedIndirect` and avoids copying to a command buffer. Enable `indirect_instancing.command_buffer` to switch back to the old way.

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix24/09/202520:24:56
rust_reboot/main/indirect_instancing (#132013)

Finalise SIMD terrain culling implementation: - Fix oscillation/flicker bug by tracking individual ray progress properly. - Adjust step size dynamically with altitude to reduce iterations. - Limit overall iterations to ConVar `indirect_instancing.tc_max_iterations`. - Ignore rays to instances that have been culled in a previous step.

2
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix24/09/202520:15:57
rust_reboot/main/indirect_instancing (#132008)

Add more debug output to the indirect_instancing.debug overlay

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix23/09/202517:43:39
rust_reboot/main/indirect_instancing (#131854)

Add new SIMD terrain culling implementation (WIP) providing ~3x speedup (up to 30x in certain cases)

18
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix23/09/202517:42:21
rust_reboot/main/indirect_instancing (#131853)

Only allow StartMotion() when IsDynamic is set

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix19/09/202512:18:45
rust_reboot/main/indirect_instancing (#131466)

Rebase on /main

0
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix19/09/202512:18:16
rust_reboot/main/indirect_instancing (#131465)

Speed up motion list execution 30x by caching matrices and checking them for changes.

2
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix18/09/202513:10:17
rust_reboot/main/indirect_instancing (#131334)

Rebase on /main

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix12/09/202510:09:18
rust_reboot/main/indirect_instancing (#130744)

Rebase on /main

1
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix11/09/202516:17:34
rust_reboot/main/indirect_instancing (#130687)

Regenerate ConsoleSystem.cs

2
4
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix11/09/202515:33:50
rust_reboot/main/indirect_instancing (#130678)

Rebase on /main

3
3
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix05/09/202511:32:52
rust_reboot/main/indirect_instancing (#130147)

Remove merging of damaged regions as the sorting and merging was taking more time than it saved in some situations. If frequent buffer updates continue to be a problem, /indirect_instancing/bitmapped_damage_tracking should fix that.

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix04/09/202514:57:33
rust_reboot/main/indirect_instancing (#130085)

Only run terrain culling when it's actually worth it (when camera is above some but not all terrain)

2
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Rust Utility Hub - Commits - main/indirect_instancing