Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubershaders and pipeline pre-compilation (and dedicated transfer queues). #90400

Merged
merged 1 commit into from
Oct 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion doc/classes/Performance.xml
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,22 @@
<constant name="NAVIGATION_OBSTACLE_COUNT" value="33" enum="Monitor">
Number of active navigation obstacles in the [NavigationServer3D].
</constant>
<constant name="MONITOR_MAX" value="34" enum="Monitor">
<constant name="PIPELINE_COMPILATIONS_CANVAS" value="34" enum="Monitor">
Number of pipeline compilations that were triggered by the 2D canvas renderer.
</constant>
<constant name="PIPELINE_COMPILATIONS_MESH" value="35" enum="Monitor">
Number of pipeline compilations that were triggered by loading meshes. These compilations will show up as longer loading times the first time a user runs the game and the pipeline is required.
</constant>
<constant name="PIPELINE_COMPILATIONS_SURFACE" value="36" enum="Monitor">
Number of pipeline compilations that were triggered by building the surface cache before rendering the scene. These compilations will show up as a stutter when loading an scene the first time a user runs the game and the pipeline is required.
</constant>
<constant name="PIPELINE_COMPILATIONS_DRAW" value="37" enum="Monitor">
Number of pipeline compilations that were triggered while drawing the scene. These compilations will show up as stutters during gameplay the first time a user runs the game and the pipeline is required.
</constant>
<constant name="PIPELINE_COMPILATIONS_SPECIALIZATION" value="38" enum="Monitor">
Number of pipeline compilations that were triggered to optimize the current scene. These compilations are done in the background and should not cause any stutters whatsoever.
</constant>
<constant name="MONITOR_MAX" value="39" enum="Monitor">
Represents the size of the [enum Monitor] enum.
</constant>
</constants>
Expand Down
33 changes: 33 additions & 0 deletions doc/classes/RenderingServer.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5687,6 +5687,39 @@
<constant name="RENDERING_INFO_VIDEO_MEM_USED" value="5" enum="RenderingInfo">
Video memory used (in bytes). When using the Forward+ or mobile rendering backends, this is always greater than the sum of [constant RENDERING_INFO_TEXTURE_MEM_USED] and [constant RENDERING_INFO_BUFFER_MEM_USED], since there is miscellaneous data not accounted for by those two metrics. When using the GL Compatibility backend, this is equal to the sum of [constant RENDERING_INFO_TEXTURE_MEM_USED] and [constant RENDERING_INFO_BUFFER_MEM_USED].
</constant>
<constant name="RENDERING_INFO_PIPELINE_COMPILATIONS_CANVAS" value="6" enum="RenderingInfo">
Number of pipeline compilations that were triggered by the 2D canvas renderer.
</constant>
<constant name="RENDERING_INFO_PIPELINE_COMPILATIONS_MESH" value="7" enum="RenderingInfo">
Number of pipeline compilations that were triggered by loading meshes. These compilations will show up as longer loading times the first time a user runs the game and the pipeline is required.
</constant>
<constant name="RENDERING_INFO_PIPELINE_COMPILATIONS_SURFACE" value="8" enum="RenderingInfo">
Number of pipeline compilations that were triggered by building the surface cache before rendering the scene. These compilations will show up as a stutter when loading an scene the first time a user runs the game and the pipeline is required.
</constant>
<constant name="RENDERING_INFO_PIPELINE_COMPILATIONS_DRAW" value="9" enum="RenderingInfo">
Number of pipeline compilations that were triggered while drawing the scene. These compilations will show up as stutters during gameplay the first time a user runs the game and the pipeline is required.
</constant>
<constant name="RENDERING_INFO_PIPELINE_COMPILATIONS_SPECIALIZATION" value="10" enum="RenderingInfo">
Number of pipeline compilations that were triggered to optimize the current scene. These compilations are done in the background and should not cause any stutters whatsoever.
</constant>
<constant name="PIPELINE_SOURCE_CANVAS" value="0" enum="PipelineSource">
Pipeline compilation that was triggered by the 2D canvas renderer.
</constant>
<constant name="PIPELINE_SOURCE_MESH" value="1" enum="PipelineSource">
Pipeline compilation that was triggered by loading a mesh.
</constant>
<constant name="PIPELINE_SOURCE_SURFACE" value="2" enum="PipelineSource">
Pipeline compilation that was triggered by building the surface cache before rendering the scene.
</constant>
<constant name="PIPELINE_SOURCE_DRAW" value="3" enum="PipelineSource">
Pipeline compilation that was triggered while drawing the scene.
</constant>
<constant name="PIPELINE_SOURCE_SPECIALIZATION" value="4" enum="PipelineSource">
Pipeline compilation that was triggered to optimize the current scene.
</constant>
<constant name="PIPELINE_SOURCE_MAX" value="5" enum="PipelineSource">
Represents the size of the [enum PipelineSource] enum.
</constant>
<constant name="FEATURE_SHADERS" value="0" enum="Features" deprecated="This constant has not been used since Godot 3.0.">
</constant>
<constant name="FEATURE_MULTITHREADED" value="1" enum="Features" deprecated="This constant has not been used since Godot 3.0.">
Expand Down
Loading
Loading