OverviewFilesCommitsIssuesDocsReleasesPeers

nvidia-rtx-godot commits / 3023ddc

Revert "Guard against binding a null TLAS uniform set (crash guard, not a fix)"
This reverts commit d705ce59a59b72a983987ce213c87623c88b3a38.
3023ddc8c3361b79e3f3bda89faa8a947b04ee36
by plankatron <fleeky@gmail.com> · 2026-07-28T23:27:32.000Z

Changed files (1) +0 -13

servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp +0 -13
……@@ -2524,19 +2524,6 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co
25242524 ERR_PRINT_ONCE_ED("Failed to get raytracing pipeline. Aborting render.");
25252525 return;
25262526 }
2527 // Set 0 can be unset: build_tlas returns nullptr when p_render_data->rt_instances
2528 // is empty, and rt_uniform_set is only assigned when it succeeds — but this
2529 // dispatch block does not test for that, so it bound a null set and
2530 // raytracing_list_bind_uniform_set took the process down. Skip the frame
2531 // instead, exactly as the bindless set below already does.
2532 //
2533 // NOTE: this is a CRASH GUARD, not a fix. If it trips, path tracing renders
2534 // nothing that frame and the real question is why the TLAS had no instances.
2535 if (!rt_uniform_set.is_valid()) {
2536 ERR_PRINT_ONCE("Raytracing: no TLAS uniform set (empty rt_instances?) — skipping trace.");
2537 RD::get_singleton()->draw_command_end_label();
2538 return;
2539 }
25402527 RD::RaytracingListID raytracing_list = RD::get_singleton()->raytracing_list_begin();
25412528 RD::get_singleton()->raytracing_list_bind_raytracing_pipeline(raytracing_list, rt_pipeline);
25422529 RD::get_singleton()->raytracing_list_bind_uniform_set(raytracing_list, rt_uniform_set, 0);