Merge pull request #58734 from Calinou/tweak-render-timestamp-names

Tweak render timestamp names for explicitness and consistency
This commit is contained in:
Rémi Verschelde 2022-03-04 20:43:08 +01:00 committed by GitHub
commit c787f59931
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 69 additions and 69 deletions

View File

@ -66,7 +66,7 @@ void RendererCanvasCull::_render_canvas_item_tree(RID p_to_render_target, Canvas
} }
} }
RENDER_TIMESTAMP("Render Canvas Items"); RENDER_TIMESTAMP("Render CanvasItems");
bool sdf_flag; bool sdf_flag;
RSG::canvas_render->canvas_render_items(p_to_render_target, list, p_modulate, p_lights, p_directional_lights, p_transform, p_default_filter, p_default_repeat, p_snap_2d_vertices_to_pixel, sdf_flag); RSG::canvas_render->canvas_render_items(p_to_render_target, list, p_modulate, p_lights, p_directional_lights, p_transform, p_default_filter, p_default_repeat, p_snap_2d_vertices_to_pixel, sdf_flag);
@ -338,7 +338,7 @@ void RendererCanvasCull::_cull_canvas_item(Item *p_canvas_item, const Transform2
} }
void RendererCanvasCull::render_canvas(RID p_render_target, Canvas *p_canvas, const Transform2D &p_transform, RendererCanvasRender::Light *p_lights, RendererCanvasRender::Light *p_directional_lights, const Rect2 &p_clip_rect, RenderingServer::CanvasItemTextureFilter p_default_filter, RenderingServer::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_transforms_to_pixel, bool p_snap_2d_vertices_to_pixel) { void RendererCanvasCull::render_canvas(RID p_render_target, Canvas *p_canvas, const Transform2D &p_transform, RendererCanvasRender::Light *p_lights, RendererCanvasRender::Light *p_directional_lights, const Rect2 &p_clip_rect, RenderingServer::CanvasItemTextureFilter p_default_filter, RenderingServer::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_transforms_to_pixel, bool p_snap_2d_vertices_to_pixel) {
RENDER_TIMESTAMP(">Render Canvas"); RENDER_TIMESTAMP("> Render Canvas");
sdf_used = false; sdf_used = false;
snapping_2d_transforms_to_pixel = p_snap_2d_transforms_to_pixel; snapping_2d_transforms_to_pixel = p_snap_2d_transforms_to_pixel;
@ -384,7 +384,7 @@ void RendererCanvasCull::render_canvas(RID p_render_target, Canvas *p_canvas, co
} }
} }
RENDER_TIMESTAMP("<End Render Canvas"); RENDER_TIMESTAMP("< Render Canvas");
} }
bool RendererCanvasCull::was_sdf_used() { bool RendererCanvasCull::was_sdf_used() {

View File

@ -398,7 +398,7 @@ void ClusterBuilderRD::begin(const Transform3D &p_view_transform, const CameraMa
} }
void ClusterBuilderRD::bake_cluster() { void ClusterBuilderRD::bake_cluster() {
RENDER_TIMESTAMP(">Bake Cluster"); RENDER_TIMESTAMP("> Bake 3D Cluster");
RD::get_singleton()->draw_command_begin_label("Bake Light Cluster"); RD::get_singleton()->draw_command_begin_label("Bake Light Cluster");
@ -429,7 +429,7 @@ void ClusterBuilderRD::bake_cluster() {
RD::get_singleton()->buffer_update(element_buffer, 0, sizeof(RenderElementData) * render_element_count, render_elements, RD::BARRIER_MASK_RASTER | RD::BARRIER_MASK_COMPUTE); RD::get_singleton()->buffer_update(element_buffer, 0, sizeof(RenderElementData) * render_element_count, render_elements, RD::BARRIER_MASK_RASTER | RD::BARRIER_MASK_COMPUTE);
RENDER_TIMESTAMP("Render Elements"); RENDER_TIMESTAMP("Render 3D Cluster Elements");
//render elements //render elements
{ {
@ -466,7 +466,7 @@ void ClusterBuilderRD::bake_cluster() {
RD::get_singleton()->draw_list_end(RD::BARRIER_MASK_COMPUTE); RD::get_singleton()->draw_list_end(RD::BARRIER_MASK_COMPUTE);
} }
//store elements //store elements
RENDER_TIMESTAMP("Pack Elements"); RENDER_TIMESTAMP("Pack 3D Cluster Elements");
{ {
RD::ComputeListID compute_list = RD::get_singleton()->compute_list_begin(); RD::ComputeListID compute_list = RD::get_singleton()->compute_list_begin();
@ -492,7 +492,7 @@ void ClusterBuilderRD::bake_cluster() {
} else { } else {
RD::get_singleton()->barrier(RD::BARRIER_MASK_TRANSFER, RD::BARRIER_MASK_RASTER | RD::BARRIER_MASK_COMPUTE); RD::get_singleton()->barrier(RD::BARRIER_MASK_TRANSFER, RD::BARRIER_MASK_RASTER | RD::BARRIER_MASK_COMPUTE);
} }
RENDER_TIMESTAMP("<Bake Cluster"); RENDER_TIMESTAMP("< Bake 3D Cluster");
RD::get_singleton()->draw_command_end_label(); RD::get_singleton()->draw_command_end_label();
} }

View File

@ -1417,7 +1417,7 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co
bool needs_pre_resolve = _needs_post_prepass_render(p_render_data, using_sdfgi || using_voxelgi); bool needs_pre_resolve = _needs_post_prepass_render(p_render_data, using_sdfgi || using_voxelgi);
if (needs_pre_resolve) { if (needs_pre_resolve) {
RENDER_TIMESTAMP("GI + Render Depth Pre-Pass (parallel)"); RENDER_TIMESTAMP("GI + Render Depth Pre-Pass (Parallel)");
} else { } else {
RENDER_TIMESTAMP("Render Depth Pre-Pass"); RENDER_TIMESTAMP("Render Depth Pre-Pass");
} }
@ -1444,8 +1444,8 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co
} }
if (render_buffer && render_buffer->msaa != RS::VIEWPORT_MSAA_DISABLED) { if (render_buffer && render_buffer->msaa != RS::VIEWPORT_MSAA_DISABLED) {
RENDER_TIMESTAMP("Resolve Depth Pre-Pass"); RENDER_TIMESTAMP("Resolve Depth Pre-Pass (MSAA)");
RD::get_singleton()->draw_command_begin_label("Resolve Depth Pre-Pass"); RD::get_singleton()->draw_command_begin_label("Resolve Depth Pre-Pass (MSAA)");
if (depth_pass_mode == PASS_MODE_DEPTH_NORMAL_ROUGHNESS || depth_pass_mode == PASS_MODE_DEPTH_NORMAL_ROUGHNESS_VOXEL_GI) { if (depth_pass_mode == PASS_MODE_DEPTH_NORMAL_ROUGHNESS || depth_pass_mode == PASS_MODE_DEPTH_NORMAL_ROUGHNESS_VOXEL_GI) {
if (needs_pre_resolve) { if (needs_pre_resolve) {
RD::get_singleton()->barrier(RD::BARRIER_MASK_RASTER, RD::BARRIER_MASK_COMPUTE); RD::get_singleton()->barrier(RD::BARRIER_MASK_RASTER, RD::BARRIER_MASK_COMPUTE);
@ -1562,15 +1562,15 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co
if (using_separate_specular) { if (using_separate_specular) {
if (using_sss) { if (using_sss) {
RENDER_TIMESTAMP("Sub Surface Scattering"); RENDER_TIMESTAMP("Sub-Surface Scattering");
RD::get_singleton()->draw_command_begin_label("Process Sub Surface Scattering"); RD::get_singleton()->draw_command_begin_label("Process Sub-Surface Scattering");
_process_sss(p_render_data->render_buffers, p_render_data->cam_projection); _process_sss(p_render_data->render_buffers, p_render_data->cam_projection);
RD::get_singleton()->draw_command_end_label(); RD::get_singleton()->draw_command_end_label();
} }
if (using_ssr) { if (using_ssr) {
RENDER_TIMESTAMP("Screen Space Reflection"); RENDER_TIMESTAMP("Screen-Space Reflections");
RD::get_singleton()->draw_command_begin_label("Process Screen Space Reflections"); RD::get_singleton()->draw_command_begin_label("Process Screen-Space Reflections");
_process_ssr(p_render_data->render_buffers, render_buffer->color_fb, render_buffer->normal_roughness_buffer, render_buffer->specular, render_buffer->specular, Color(0, 0, 0, 1), p_render_data->environment, p_render_data->cam_projection, render_buffer->msaa == RS::VIEWPORT_MSAA_DISABLED); _process_ssr(p_render_data->render_buffers, render_buffer->color_fb, render_buffer->normal_roughness_buffer, render_buffer->specular, render_buffer->specular, Color(0, 0, 0, 1), p_render_data->environment, p_render_data->cam_projection, render_buffer->msaa == RS::VIEWPORT_MSAA_DISABLED);
RD::get_singleton()->draw_command_end_label(); RD::get_singleton()->draw_command_end_label();
} else { } else {
@ -1590,9 +1590,9 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co
_render_buffers_copy_depth_texture(p_render_data); _render_buffers_copy_depth_texture(p_render_data);
} }
RENDER_TIMESTAMP("Render Transparent Pass"); RENDER_TIMESTAMP("Render 3D Transparent Pass");
RD::get_singleton()->draw_command_begin_label("Render Transparent Pass"); RD::get_singleton()->draw_command_begin_label("Render 3D Transparent Pass");
rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_ALPHA, p_render_data, radiance_texture, true); rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_ALPHA, p_render_data, radiance_texture, true);
@ -1618,7 +1618,7 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co
RD::get_singleton()->draw_command_begin_label("Copy framebuffer for SSIL"); RD::get_singleton()->draw_command_begin_label("Copy framebuffer for SSIL");
if (using_ssil) { if (using_ssil) {
RENDER_TIMESTAMP("Copy Final Framebuffer"); RENDER_TIMESTAMP("Copy Final Framebuffer (SSIL)");
_copy_framebuffer_to_ssil(p_render_data->render_buffers); _copy_framebuffer_to_ssil(p_render_data->render_buffers);
} }
RD::get_singleton()->draw_command_end_label(); RD::get_singleton()->draw_command_end_label();
@ -1731,7 +1731,7 @@ void RenderForwardClustered::_render_shadow_end(uint32_t p_barrier) {
} }
void RenderForwardClustered::_render_particle_collider_heightfield(RID p_fb, const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, const PagedArray<GeometryInstance *> &p_instances) { void RenderForwardClustered::_render_particle_collider_heightfield(RID p_fb, const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, const PagedArray<GeometryInstance *> &p_instances) {
RENDER_TIMESTAMP("Setup Render Collider Heightfield"); RENDER_TIMESTAMP("Setup GPUParticlesCollisionHeightField3D");
RD::get_singleton()->draw_command_begin_label("Render Collider Heightfield"); RD::get_singleton()->draw_command_begin_label("Render Collider Heightfield");
@ -1769,9 +1769,9 @@ void RenderForwardClustered::_render_particle_collider_heightfield(RID p_fb, con
} }
void RenderForwardClustered::_render_material(const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, const PagedArray<GeometryInstance *> &p_instances, RID p_framebuffer, const Rect2i &p_region) { void RenderForwardClustered::_render_material(const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, const PagedArray<GeometryInstance *> &p_instances, RID p_framebuffer, const Rect2i &p_region) {
RENDER_TIMESTAMP("Setup Rendering Material"); RENDER_TIMESTAMP("Setup Rendering 3D Material");
RD::get_singleton()->draw_command_begin_label("Render Material"); RD::get_singleton()->draw_command_begin_label("Render 3D Material");
RenderDataRD render_data; RenderDataRD render_data;
render_data.cam_projection = p_cam_projection; render_data.cam_projection = p_cam_projection;
@ -1795,7 +1795,7 @@ void RenderForwardClustered::_render_material(const Transform3D &p_cam_transform
RID rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_SECONDARY, nullptr, RID()); RID rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_SECONDARY, nullptr, RID());
RENDER_TIMESTAMP("Render Material"); RENDER_TIMESTAMP("Render 3D Material");
{ {
RenderListParameters render_list_params(render_list[RENDER_LIST_SECONDARY].elements.ptr(), render_list[RENDER_LIST_SECONDARY].element_info.ptr(), render_list[RENDER_LIST_SECONDARY].elements.size(), true, pass_mode, true, false, rp_uniform_set); RenderListParameters render_list_params(render_list[RENDER_LIST_SECONDARY].elements.ptr(), render_list[RENDER_LIST_SECONDARY].element_info.ptr(), render_list[RENDER_LIST_SECONDARY].elements.size(), true, pass_mode, true, false, rp_uniform_set);
@ -1841,7 +1841,7 @@ void RenderForwardClustered::_render_uv2(const PagedArray<GeometryInstance *> &p
RID rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_SECONDARY, nullptr, RID()); RID rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_SECONDARY, nullptr, RID());
RENDER_TIMESTAMP("Render Material"); RENDER_TIMESTAMP("Render 3D Material");
{ {
RenderListParameters render_list_params(render_list[RENDER_LIST_SECONDARY].elements.ptr(), render_list[RENDER_LIST_SECONDARY].element_info.ptr(), render_list[RENDER_LIST_SECONDARY].elements.size(), true, pass_mode, true, false, rp_uniform_set, true); RenderListParameters render_list_params(render_list[RENDER_LIST_SECONDARY].elements.ptr(), render_list[RENDER_LIST_SECONDARY].element_info.ptr(), render_list[RENDER_LIST_SECONDARY].elements.size(), true, pass_mode, true, false, rp_uniform_set, true);

View File

@ -653,9 +653,9 @@ void RenderForwardMobile::_render_scene(RenderDataRD *p_render_data, const Color
if (draw_sky || draw_sky_fog_only) { if (draw_sky || draw_sky_fog_only) {
// !BAS! @TODO See if we can limit doing some things double and maybe even move this into _pre_opaque_render // !BAS! @TODO See if we can limit doing some things double and maybe even move this into _pre_opaque_render
// and change Forward Clustered in the same way as we have here (but without using subpasses) // and change Forward Clustered in the same way as we have here (but without using subpasses)
RENDER_TIMESTAMP("Setup Sky resolution buffers"); RENDER_TIMESTAMP("Setup Sky Resolution Buffers");
RD::get_singleton()->draw_command_begin_label("Setup Sky resolution buffers"); RD::get_singleton()->draw_command_begin_label("Setup Sky Resolution Buffers");
if (p_render_data->reflection_probe.is_valid()) { if (p_render_data->reflection_probe.is_valid()) {
CameraMatrix correction; CameraMatrix correction;
@ -972,9 +972,9 @@ void RenderForwardMobile::_render_shadow_end(uint32_t p_barrier) {
/* */ /* */
void RenderForwardMobile::_render_material(const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, const PagedArray<GeometryInstance *> &p_instances, RID p_framebuffer, const Rect2i &p_region) { void RenderForwardMobile::_render_material(const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, const PagedArray<GeometryInstance *> &p_instances, RID p_framebuffer, const Rect2i &p_region) {
RENDER_TIMESTAMP("Setup Rendering Material"); RENDER_TIMESTAMP("Setup Rendering 3D Material");
RD::get_singleton()->draw_command_begin_label("Render Material"); RD::get_singleton()->draw_command_begin_label("Render 3D Material");
_update_render_base_uniform_set(); _update_render_base_uniform_set();
@ -997,7 +997,7 @@ void RenderForwardMobile::_render_material(const Transform3D &p_cam_transform, c
RID rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_SECONDARY, nullptr, RID()); RID rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_SECONDARY, nullptr, RID());
RENDER_TIMESTAMP("Render Material"); RENDER_TIMESTAMP("Render 3D Material");
{ {
RenderListParameters render_list_params(render_list[RENDER_LIST_SECONDARY].elements.ptr(), render_list[RENDER_LIST_SECONDARY].element_info.ptr(), render_list[RENDER_LIST_SECONDARY].elements.size(), true, pass_mode, rp_uniform_set, 0); RenderListParameters render_list_params(render_list[RENDER_LIST_SECONDARY].elements.ptr(), render_list[RENDER_LIST_SECONDARY].element_info.ptr(), render_list[RENDER_LIST_SECONDARY].elements.size(), true, pass_mode, rp_uniform_set, 0);
@ -1039,7 +1039,7 @@ void RenderForwardMobile::_render_uv2(const PagedArray<GeometryInstance *> &p_in
RID rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_SECONDARY, nullptr, RID()); RID rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_SECONDARY, nullptr, RID());
RENDER_TIMESTAMP("Render Material"); RENDER_TIMESTAMP("Render 3D Material");
{ {
RenderListParameters render_list_params(render_list[RENDER_LIST_SECONDARY].elements.ptr(), render_list[RENDER_LIST_SECONDARY].element_info.ptr(), render_list[RENDER_LIST_SECONDARY].elements.size(), true, pass_mode, rp_uniform_set, true, false); RenderListParameters render_list_params(render_list[RENDER_LIST_SECONDARY].elements.ptr(), render_list[RENDER_LIST_SECONDARY].element_info.ptr(), render_list[RENDER_LIST_SECONDARY].elements.size(), true, pass_mode, rp_uniform_set, true, false);
@ -1089,7 +1089,7 @@ void RenderForwardMobile::_render_sdfgi(RID p_render_buffers, const Vector3i &p_
} }
void RenderForwardMobile::_render_particle_collider_heightfield(RID p_fb, const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, const PagedArray<GeometryInstance *> &p_instances) { void RenderForwardMobile::_render_particle_collider_heightfield(RID p_fb, const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, const PagedArray<GeometryInstance *> &p_instances) {
RENDER_TIMESTAMP("Setup Render Collider Heightfield"); RENDER_TIMESTAMP("Setup GPUParticlesCollisionHeightField3D");
RD::get_singleton()->draw_command_begin_label("Render Collider Heightfield"); RD::get_singleton()->draw_command_begin_label("Render Collider Heightfield");

View File

@ -1002,7 +1002,7 @@ void RendererSceneGIRD::SDFGI::store_probes() {
push_constant.y_mult = y_mult; push_constant.y_mult = y_mult;
// Then store values into the lightprobe texture. Separating these steps has a small performance hit, but it allows for multiple bounces // Then store values into the lightprobe texture. Separating these steps has a small performance hit, but it allows for multiple bounces
RENDER_TIMESTAMP("Average Probes"); RENDER_TIMESTAMP("Average SDFGI Probes");
RD::ComputeListID compute_list = RD::get_singleton()->compute_list_begin(); RD::ComputeListID compute_list = RD::get_singleton()->compute_list_begin();
RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, gi->sdfgi_shader.integrate_pipeline[SDFGIShader::INTEGRATE_MODE_STORE]); RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, gi->sdfgi_shader.integrate_pipeline[SDFGIShader::INTEGRATE_MODE_STORE]);
@ -1555,14 +1555,14 @@ void RendererSceneGIRD::SDFGI::render_region(RID p_render_buffers, int p_region,
if (cascade_next != cascade) { if (cascade_next != cascade) {
RD::get_singleton()->draw_command_begin_label("SDFGI Pre-Process Cascade"); RD::get_singleton()->draw_command_begin_label("SDFGI Pre-Process Cascade");
RENDER_TIMESTAMP(">SDFGI Update SDF"); RENDER_TIMESTAMP("> SDFGI Update SDF");
//done rendering! must update SDF //done rendering! must update SDF
//clear dispatch indirect data //clear dispatch indirect data
SDFGIShader::PreprocessPushConstant push_constant; SDFGIShader::PreprocessPushConstant push_constant;
memset(&push_constant, 0, sizeof(SDFGIShader::PreprocessPushConstant)); memset(&push_constant, 0, sizeof(SDFGIShader::PreprocessPushConstant));
RENDER_TIMESTAMP("Scroll SDF"); RENDER_TIMESTAMP("SDFGI Scroll SDF");
//scroll //scroll
if (cascades[cascade].dirty_regions != SDFGI::Cascade::DIRTY_ALL) { if (cascades[cascade].dirty_regions != SDFGI::Cascade::DIRTY_ALL) {
@ -1701,7 +1701,7 @@ void RendererSceneGIRD::SDFGI::render_region(RID p_render_buffers, int p_region,
push_constant.half_size = true; push_constant.half_size = true;
{ {
RENDER_TIMESTAMP("SDFGI Jump Flood (Half Size)"); RENDER_TIMESTAMP("SDFGI Jump Flood (Half-Size)");
uint32_t s = cascade_half_size; uint32_t s = cascade_half_size;
@ -1723,7 +1723,7 @@ void RendererSceneGIRD::SDFGI::render_region(RID p_render_buffers, int p_region,
} }
} }
RENDER_TIMESTAMP("SDFGI Jump Flood Optimized (Half Size)"); RENDER_TIMESTAMP("SDFGI Jump Flood Optimized (Half-Size)");
//continue with optimized jump flood for smaller reads //continue with optimized jump flood for smaller reads
RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, gi->sdfgi_shader.preprocess_pipeline[SDFGIShader::PRE_PROCESS_JUMP_FLOOD_OPTIMIZED]); RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, gi->sdfgi_shader.preprocess_pipeline[SDFGIShader::PRE_PROCESS_JUMP_FLOOD_OPTIMIZED]);
@ -1759,7 +1759,7 @@ void RendererSceneGIRD::SDFGI::render_region(RID p_render_buffers, int p_region,
} else { } else {
//full size jumpflood //full size jumpflood
RENDER_TIMESTAMP("SDFGI Jump Flood"); RENDER_TIMESTAMP("SDFGI Jump Flood (Full-Size)");
RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, gi->sdfgi_shader.preprocess_pipeline[SDFGIShader::PRE_PROCESS_JUMP_FLOOD_INITIALIZE]); RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, gi->sdfgi_shader.preprocess_pipeline[SDFGIShader::PRE_PROCESS_JUMP_FLOOD_INITIALIZE]);
RD::get_singleton()->compute_list_bind_uniform_set(compute_list, sdf_initialize_uniform_set, 0); RD::get_singleton()->compute_list_bind_uniform_set(compute_list, sdf_initialize_uniform_set, 0);
@ -1790,7 +1790,7 @@ void RendererSceneGIRD::SDFGI::render_region(RID p_render_buffers, int p_region,
} }
} }
RENDER_TIMESTAMP("SDFGI Jump Flood Optimized"); RENDER_TIMESTAMP("SDFGI Jump Flood Optimized (Full-Size)");
//continue with optimized jump flood for smaller reads //continue with optimized jump flood for smaller reads
RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, gi->sdfgi_shader.preprocess_pipeline[SDFGIShader::PRE_PROCESS_JUMP_FLOOD_OPTIMIZED]); RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, gi->sdfgi_shader.preprocess_pipeline[SDFGIShader::PRE_PROCESS_JUMP_FLOOD_OPTIMIZED]);
@ -1882,7 +1882,7 @@ void RendererSceneGIRD::SDFGI::render_region(RID p_render_buffers, int p_region,
//finalize render and update sdf //finalize render and update sdf
#endif #endif
RENDER_TIMESTAMP("<SDFGI Update SDF"); RENDER_TIMESTAMP("< SDFGI Update SDF");
RD::get_singleton()->draw_command_end_label(); RD::get_singleton()->draw_command_end_label();
} }
} }
@ -1891,7 +1891,7 @@ void RendererSceneGIRD::SDFGI::render_static_lights(RID p_render_buffers, uint32
RendererSceneRenderRD::RenderBuffers *rb = p_scene_render->render_buffers_owner.get_or_null(p_render_buffers); RendererSceneRenderRD::RenderBuffers *rb = p_scene_render->render_buffers_owner.get_or_null(p_render_buffers);
ERR_FAIL_COND(!rb); // we wouldn't be here if this failed but... ERR_FAIL_COND(!rb); // we wouldn't be here if this failed but...
RD::get_singleton()->draw_command_begin_label("SDFGI Render Static Lighs"); RD::get_singleton()->draw_command_begin_label("SDFGI Render Static Lights");
update_cascades(); update_cascades();

View File

@ -4119,7 +4119,7 @@ void RendererSceneRenderRD::_update_volumetric_fog(RID p_render_buffers, RID p_e
return; return;
} }
RENDER_TIMESTAMP(">Volumetric Fog"); RENDER_TIMESTAMP("> Volumetric Fog");
RD::get_singleton()->draw_command_begin_label("Volumetric Fog"); RD::get_singleton()->draw_command_begin_label("Volumetric Fog");
if (env && env->volumetric_fog_enabled && !rb->volumetric_fog) { if (env && env->volumetric_fog_enabled && !rb->volumetric_fog) {
@ -4191,7 +4191,7 @@ void RendererSceneRenderRD::_update_volumetric_fog(RID p_render_buffers, RID p_e
if (p_fog_volumes.size() > 0) { if (p_fog_volumes.size() > 0) {
RD::get_singleton()->draw_command_begin_label("Render Volumetric Fog Volumes"); RD::get_singleton()->draw_command_begin_label("Render Volumetric Fog Volumes");
RENDER_TIMESTAMP("Render Fog Volumes"); RENDER_TIMESTAMP("Render FogVolumes");
VolumetricFogShader::VolumeUBO params; VolumetricFogShader::VolumeUBO params;
@ -4785,7 +4785,7 @@ void RendererSceneRenderRD::_update_volumetric_fog(RID p_render_buffers, RID p_e
RD::get_singleton()->compute_list_end(RD::BARRIER_MASK_RASTER); RD::get_singleton()->compute_list_end(RD::BARRIER_MASK_RASTER);
RENDER_TIMESTAMP("<Volumetric Fog"); RENDER_TIMESTAMP("< Volumetric Fog");
RD::get_singleton()->draw_command_end_label(); RD::get_singleton()->draw_command_end_label();
RD::get_singleton()->draw_command_end_label(); RD::get_singleton()->draw_command_end_label();
@ -4874,7 +4874,7 @@ void RendererSceneRenderRD::_pre_opaque_render(RenderDataRD *p_render_data, bool
bool render_gi = p_render_data->render_buffers.is_valid() && p_use_gi; bool render_gi = p_render_data->render_buffers.is_valid() && p_use_gi;
if (render_shadows && render_gi) { if (render_shadows && render_gi) {
RENDER_TIMESTAMP("Render GI + Render Shadows (parallel)"); RENDER_TIMESTAMP("Render GI + Render Shadows (Parallel)");
} else if (render_shadows) { } else if (render_shadows) {
RENDER_TIMESTAMP("Render Shadows"); RENDER_TIMESTAMP("Render Shadows");
} else if (render_gi) { } else if (render_gi) {

View File

@ -2039,7 +2039,7 @@ void RendererSceneCull::_light_instance_setup_directional_shadow(int p_shadow_in
cull.shadows[p_shadow_index].light_instance = light->instance; cull.shadows[p_shadow_index].light_instance = light->instance;
for (int i = 0; i < splits; i++) { for (int i = 0; i < splits; i++) {
RENDER_TIMESTAMP("Culling Directional Light split" + itos(i)); RENDER_TIMESTAMP("Cull DirectionalLight3D, Split " + itos(i));
// setup a camera matrix for that range! // setup a camera matrix for that range!
CameraMatrix camera_matrix; CameraMatrix camera_matrix;
@ -2227,7 +2227,7 @@ bool RendererSceneCull::_light_instance_update_shadow(Instance *p_instance, cons
} }
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
//using this one ensures that raster deferred will have it //using this one ensures that raster deferred will have it
RENDER_TIMESTAMP("Culling Shadow Paraboloid" + itos(i)); RENDER_TIMESTAMP("Cull OmniLight3D Shadow Paraboloid, Half " + itos(i));
real_t radius = RSG::storage->light_get_param(p_instance->base, RS::LIGHT_PARAM_RANGE); real_t radius = RSG::storage->light_get_param(p_instance->base, RS::LIGHT_PARAM_RANGE);
@ -2295,7 +2295,7 @@ bool RendererSceneCull::_light_instance_update_shadow(Instance *p_instance, cons
cm.set_perspective(90, 1, radius * 0.005f, radius); cm.set_perspective(90, 1, radius * 0.005f, radius);
for (int i = 0; i < 6; i++) { for (int i = 0; i < 6; i++) {
RENDER_TIMESTAMP("Culling Shadow Cube side" + itos(i)); RENDER_TIMESTAMP("Cull OmniLight3D Shadow Cube, Side " + itos(i));
//using this one ensures that raster deferred will have it //using this one ensures that raster deferred will have it
static const Vector3 view_normals[6] = { static const Vector3 view_normals[6] = {
@ -2368,7 +2368,7 @@ bool RendererSceneCull::_light_instance_update_shadow(Instance *p_instance, cons
} break; } break;
case RS::LIGHT_SPOT: { case RS::LIGHT_SPOT: {
RENDER_TIMESTAMP("Culling Spot Light"); RENDER_TIMESTAMP("Cull SpotLight3D Shadow");
if (max_shadows_used + 1 > MAX_UPDATE_SHADOWS) { if (max_shadows_used + 1 > MAX_UPDATE_SHADOWS) {
return true; return true;
@ -2508,7 +2508,7 @@ void RendererSceneCull::render_camera(RID p_render_buffers, RID p_camera, RID p_
RID environment = _render_get_environment(p_camera, p_scenario); RID environment = _render_get_environment(p_camera, p_scenario);
RENDER_TIMESTAMP("Update occlusion buffer") RENDER_TIMESTAMP("Update Occlusion Buffer")
// For now just cull on the first camera // For now just cull on the first camera
RendererSceneOcclusionCull::get_singleton()->buffer_update(p_viewport, camera_data.main_transform, camera_data.main_projection, camera_data.is_ortogonal, RendererThreadPool::singleton->thread_work_pool); RendererSceneOcclusionCull::get_singleton()->buffer_update(p_viewport, camera_data.main_transform, camera_data.main_projection, camera_data.is_ortogonal, RendererThreadPool::singleton->thread_work_pool);
@ -2890,7 +2890,7 @@ void RendererSceneCull::_render_scene(const RendererSceneRender::CameraData *p_c
scene_render->sdfgi_update(p_render_buffers, p_environment, p_camera_data->main_transform.origin); //update conditions for SDFGI (whether its used or not) scene_render->sdfgi_update(p_render_buffers, p_environment, p_camera_data->main_transform.origin); //update conditions for SDFGI (whether its used or not)
} }
RENDER_TIMESTAMP("Visibility Dependencies"); RENDER_TIMESTAMP("Update Visibility Dependencies");
if (scenario->instance_visibility.get_bin_count() > 0) { if (scenario->instance_visibility.get_bin_count() > 0) {
if (!scenario->viewport_visibility_masks.has(p_viewport)) { if (!scenario->viewport_visibility_masks.has(p_viewport)) {
@ -2918,7 +2918,7 @@ void RendererSceneCull::_render_scene(const RendererSceneRender::CameraData *p_c
} }
} }
RENDER_TIMESTAMP("Culling"); RENDER_TIMESTAMP("Cull 3D Scene");
//rasterizer->set_camera(p_camera_data->main_transform, p_camera_data.main_projection, p_camera_data.is_ortogonal); //rasterizer->set_camera(p_camera_data->main_transform, p_camera_data.main_projection, p_camera_data.is_ortogonal);
@ -3155,9 +3155,9 @@ void RendererSceneCull::_render_scene(const RendererSceneRender::CameraData *p_c
if (redraw && max_shadows_used < MAX_UPDATE_SHADOWS) { if (redraw && max_shadows_used < MAX_UPDATE_SHADOWS) {
//must redraw! //must redraw!
RENDER_TIMESTAMP(">Rendering Light " + itos(i)); RENDER_TIMESTAMP("> Render Light3D " + itos(i));
light->shadow_dirty = _light_instance_update_shadow(ins, p_camera_data->main_transform, p_camera_data->main_projection, p_camera_data->is_ortogonal, p_camera_data->vaspect, p_shadow_atlas, scenario, p_screen_mesh_lod_threshold); light->shadow_dirty = _light_instance_update_shadow(ins, p_camera_data->main_transform, p_camera_data->main_projection, p_camera_data->is_ortogonal, p_camera_data->vaspect, p_shadow_atlas, scenario, p_screen_mesh_lod_threshold);
RENDER_TIMESTAMP("<Rendering Light " + itos(i)); RENDER_TIMESTAMP("< Render Light3D " + itos(i));
} else { } else {
light->shadow_dirty = redraw; light->shadow_dirty = redraw;
} }
@ -3217,7 +3217,7 @@ void RendererSceneCull::_render_scene(const RendererSceneRender::CameraData *p_c
occluders_tex = RSG::viewport->viewport_get_occluder_debug_texture(p_viewport); occluders_tex = RSG::viewport->viewport_get_occluder_debug_texture(p_viewport);
} }
RENDER_TIMESTAMP("Render Scene "); RENDER_TIMESTAMP("Render 3D Scene");
scene_render->render_scene(p_render_buffers, p_camera_data, scene_cull_result.geometry_instances, scene_cull_result.light_instances, scene_cull_result.reflections, scene_cull_result.voxel_gi_instances, scene_cull_result.decals, scene_cull_result.lightmaps, scene_cull_result.fog_volumes, p_environment, camera_effects, p_shadow_atlas, occluders_tex, p_reflection_probe.is_valid() ? RID() : scenario->reflection_atlas, p_reflection_probe, p_reflection_probe_pass, p_screen_mesh_lod_threshold, render_shadow_data, max_shadows_used, render_sdfgi_data, cull.sdfgi.region_count, &sdfgi_update_data, r_render_info); scene_render->render_scene(p_render_buffers, p_camera_data, scene_cull_result.geometry_instances, scene_cull_result.light_instances, scene_cull_result.reflections, scene_cull_result.voxel_gi_instances, scene_cull_result.decals, scene_cull_result.lightmaps, scene_cull_result.fog_volumes, p_environment, camera_effects, p_shadow_atlas, occluders_tex, p_reflection_probe.is_valid() ? RID() : scenario->reflection_atlas, p_reflection_probe, p_reflection_probe_pass, p_screen_mesh_lod_threshold, render_shadow_data, max_shadows_used, render_sdfgi_data, cull.sdfgi.region_count, &sdfgi_update_data, r_render_info);
for (uint32_t i = 0; i < max_shadows_used; i++) { for (uint32_t i = 0; i < max_shadows_used; i++) {
@ -3263,7 +3263,7 @@ void RendererSceneCull::render_empty_scene(RID p_render_buffers, RID p_scenario,
} else { } else {
environment = scenario->fallback_environment; environment = scenario->fallback_environment;
} }
RENDER_TIMESTAMP("Render Empty Scene "); RENDER_TIMESTAMP("Render Empty 3D Scene");
RendererSceneRender::CameraData camera_data; RendererSceneRender::CameraData camera_data;
camera_data.set_camera(Transform3D(), CameraMatrix(), true, false); camera_data.set_camera(Transform3D(), CameraMatrix(), true, false);
@ -3337,7 +3337,7 @@ bool RendererSceneCull::_render_reflection_probe_step(Instance *p_instance, int
environment = scenario->fallback_environment; environment = scenario->fallback_environment;
} }
RENDER_TIMESTAMP("Render Reflection Probe, Step " + itos(p_step)); RENDER_TIMESTAMP("Render ReflectionProbe, Step " + itos(p_step));
RendererSceneRender::CameraData camera_data; RendererSceneRender::CameraData camera_data;
camera_data.set_camera(xform, cm, false, false); camera_data.set_camera(xform, cm, false, false);
@ -3345,7 +3345,7 @@ bool RendererSceneCull::_render_reflection_probe_step(Instance *p_instance, int
} else { } else {
//do roughness postprocess step until it believes it's done //do roughness postprocess step until it believes it's done
RENDER_TIMESTAMP("Post-Process Reflection Probe, Step " + itos(p_step)); RENDER_TIMESTAMP("Post-Process ReflectionProbe, Step " + itos(p_step));
return scene_render->reflection_probe_instance_postprocess_step(reflection_probe->instance); return scene_render->reflection_probe_instance_postprocess_step(reflection_probe->instance);
} }
@ -3398,7 +3398,7 @@ void RendererSceneCull::render_probes() {
SelfList<InstanceVoxelGIData> *voxel_gi = voxel_gi_update_list.first(); SelfList<InstanceVoxelGIData> *voxel_gi = voxel_gi_update_list.first();
if (voxel_gi) { if (voxel_gi) {
RENDER_TIMESTAMP("Render GI Probes"); RENDER_TIMESTAMP("Render VoxelGI");
} }
while (voxel_gi) { while (voxel_gi) {

View File

@ -145,7 +145,7 @@ void RendererViewport::_configure_3d_render_buffers(Viewport *p_viewport) {
} }
void RendererViewport::_draw_3d(Viewport *p_viewport) { void RendererViewport::_draw_3d(Viewport *p_viewport) {
RENDER_TIMESTAMP(">Begin Rendering 3D Scene"); RENDER_TIMESTAMP("> Render 3D Scene");
Ref<XRInterface> xr_interface; Ref<XRInterface> xr_interface;
if (p_viewport->use_xr && XRServer::get_singleton() != nullptr) { if (p_viewport->use_xr && XRServer::get_singleton() != nullptr) {
@ -170,7 +170,7 @@ void RendererViewport::_draw_3d(Viewport *p_viewport) {
float screen_mesh_lod_threshold = p_viewport->mesh_lod_threshold / float(p_viewport->size.width); float screen_mesh_lod_threshold = p_viewport->mesh_lod_threshold / float(p_viewport->size.width);
RSG::scene->render_camera(p_viewport->render_buffers, p_viewport->camera, p_viewport->scenario, p_viewport->self, p_viewport->internal_size, screen_mesh_lod_threshold, p_viewport->shadow_atlas, xr_interface, &p_viewport->render_info); RSG::scene->render_camera(p_viewport->render_buffers, p_viewport->camera, p_viewport->scenario, p_viewport->self, p_viewport->internal_size, screen_mesh_lod_threshold, p_viewport->shadow_atlas, xr_interface, &p_viewport->render_info);
RENDER_TIMESTAMP("<End Rendering 3D Scene"); RENDER_TIMESTAMP("< Render 3D Scene");
} }
void RendererViewport::_draw_viewport(Viewport *p_viewport) { void RendererViewport::_draw_viewport(Viewport *p_viewport) {
@ -281,7 +281,7 @@ void RendererViewport::_draw_viewport(Viewport *p_viewport) {
int shadow_count = 0; int shadow_count = 0;
int directional_light_count = 0; int directional_light_count = 0;
RENDER_TIMESTAMP("Cull Canvas Lights"); RENDER_TIMESTAMP("Cull 2D Lights");
for (KeyValue<RID, Viewport::CanvasData> &E : p_viewport->canvas_map) { for (KeyValue<RID, Viewport::CanvasData> &E : p_viewport->canvas_map) {
RendererCanvasCull::Canvas *canvas = static_cast<RendererCanvasCull::Canvas *>(E.value.canvas); RendererCanvasCull::Canvas *canvas = static_cast<RendererCanvasCull::Canvas *>(E.value.canvas);
@ -355,8 +355,8 @@ void RendererViewport::_draw_viewport(Viewport *p_viewport) {
RendererCanvasRender::LightOccluderInstance *occluders = nullptr; RendererCanvasRender::LightOccluderInstance *occluders = nullptr;
RENDER_TIMESTAMP(">Render 2D Shadows"); RENDER_TIMESTAMP("> Render PointLight2D Shadows");
RENDER_TIMESTAMP("Cull Occluders"); RENDER_TIMESTAMP("Cull LightOccluder2Ds");
//make list of occluders //make list of occluders
for (KeyValue<RID, Viewport::CanvasData> &E : p_viewport->canvas_map) { for (KeyValue<RID, Viewport::CanvasData> &E : p_viewport->canvas_map) {
@ -378,13 +378,13 @@ void RendererViewport::_draw_viewport(Viewport *p_viewport) {
RendererCanvasRender::Light *light = lights_with_shadow; RendererCanvasRender::Light *light = lights_with_shadow;
while (light) { while (light) {
RENDER_TIMESTAMP("Render Shadow"); RENDER_TIMESTAMP("Render PointLight2D Shadow");
RSG::canvas_render->light_update_shadow(light->light_internal, shadow_count++, light->xform_cache.affine_inverse(), light->item_shadow_mask, light->radius_cache / 1000.0, light->radius_cache * 1.1, occluders); RSG::canvas_render->light_update_shadow(light->light_internal, shadow_count++, light->xform_cache.affine_inverse(), light->item_shadow_mask, light->radius_cache / 1000.0, light->radius_cache * 1.1, occluders);
light = light->shadows_next_ptr; light = light->shadows_next_ptr;
} }
RENDER_TIMESTAMP("<End rendering 2D Shadows"); RENDER_TIMESTAMP("< Render PointLight2D Shadows");
} }
if (directional_lights_with_shadow) { if (directional_lights_with_shadow) {
@ -436,7 +436,7 @@ void RendererViewport::_draw_viewport(Viewport *p_viewport) {
RendererCanvasRender::LightOccluderInstance *occluders = nullptr; RendererCanvasRender::LightOccluderInstance *occluders = nullptr;
RENDER_TIMESTAMP(">Render Directional 2D Shadows"); RENDER_TIMESTAMP("> Render DirectionalLight2D Shadows");
//make list of occluders //make list of occluders
int occ_cullded = 0; int occ_cullded = 0;
@ -467,7 +467,7 @@ void RendererViewport::_draw_viewport(Viewport *p_viewport) {
light = light->shadows_next_ptr; light = light->shadows_next_ptr;
} }
RENDER_TIMESTAMP("<Render Directional 2D Shadows"); RENDER_TIMESTAMP("< Render DirectionalLight2D Shadows");
} }
if (scenario_draw_canvas_bg && canvas_map.front() && canvas_map.front()->key().get_layer() > scenario_canvas_max_layer) { if (scenario_draw_canvas_bg && canvas_map.front() && canvas_map.front()->key().get_layer() > scenario_canvas_max_layer) {
@ -566,7 +566,7 @@ void RendererViewport::draw_viewports() {
Map<DisplayServer::WindowID, Vector<BlitToScreen>> blit_to_screen_list; Map<DisplayServer::WindowID, Vector<BlitToScreen>> blit_to_screen_list;
//draw viewports //draw viewports
RENDER_TIMESTAMP(">Render Viewports"); RENDER_TIMESTAMP("> Render Viewports");
//determine what is visible //determine what is visible
draw_viewports_pass++; draw_viewports_pass++;
@ -641,7 +641,7 @@ void RendererViewport::draw_viewports() {
continue; //should not draw continue; //should not draw
} }
RENDER_TIMESTAMP(">Rendering Viewport " + itos(i)); RENDER_TIMESTAMP("> Render Viewport " + itos(i));
RSG::storage->render_target_set_as_unused(vp->render_target); RSG::storage->render_target_set_as_unused(vp->render_target);
if (vp->use_xr && xr_interface.is_valid()) { if (vp->use_xr && xr_interface.is_valid()) {
@ -699,7 +699,7 @@ void RendererViewport::draw_viewports() {
vp->update_mode = RS::VIEWPORT_UPDATE_DISABLED; vp->update_mode = RS::VIEWPORT_UPDATE_DISABLED;
} }
RENDER_TIMESTAMP("<Rendering Viewport " + itos(i)); RENDER_TIMESTAMP("< Render Viewport " + itos(i));
objects_drawn += vp->render_info.info[RS::VIEWPORT_RENDER_INFO_TYPE_VISIBLE][RS::VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME] + vp->render_info.info[RS::VIEWPORT_RENDER_INFO_TYPE_SHADOW][RS::VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME]; objects_drawn += vp->render_info.info[RS::VIEWPORT_RENDER_INFO_TYPE_VISIBLE][RS::VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME] + vp->render_info.info[RS::VIEWPORT_RENDER_INFO_TYPE_SHADOW][RS::VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME];
vertices_drawn += vp->render_info.info[RS::VIEWPORT_RENDER_INFO_TYPE_VISIBLE][RS::VIEWPORT_RENDER_INFO_PRIMITIVES_IN_FRAME] + vp->render_info.info[RS::VIEWPORT_RENDER_INFO_TYPE_SHADOW][RS::VIEWPORT_RENDER_INFO_PRIMITIVES_IN_FRAME]; vertices_drawn += vp->render_info.info[RS::VIEWPORT_RENDER_INFO_TYPE_VISIBLE][RS::VIEWPORT_RENDER_INFO_PRIMITIVES_IN_FRAME] + vp->render_info.info[RS::VIEWPORT_RENDER_INFO_TYPE_SHADOW][RS::VIEWPORT_RENDER_INFO_PRIMITIVES_IN_FRAME];
@ -711,7 +711,7 @@ void RendererViewport::draw_viewports() {
total_vertices_drawn = vertices_drawn; total_vertices_drawn = vertices_drawn;
total_draw_calls_used = draw_calls_used; total_draw_calls_used = draw_calls_used;
RENDER_TIMESTAMP("<Render Viewports"); RENDER_TIMESTAMP("< Render Viewports");
//this needs to be called to make screen swapping more efficient //this needs to be called to make screen swapping more efficient
RSG::rasterizer->prepare_for_blitting_render_targets(); RSG::rasterizer->prepare_for_blitting_render_targets();