You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-09 12:50:35 +00:00
Fix incorrect checking of uniform set to prevent error spam
This commit is contained in:
@@ -483,8 +483,8 @@ void RenderForwardClustered::_render_list_template(RenderingDevice::DrawListID p
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (material_uniform_set != prev_material_uniform_set) {
|
if (material_uniform_set != prev_material_uniform_set) {
|
||||||
//update uniform set
|
// Update uniform set.
|
||||||
if (material_uniform_set.is_valid()) {
|
if (RD::get_singleton()->uniform_set_is_valid(material_uniform_set)) { // Material may not have a uniform set.
|
||||||
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, material_uniform_set, MATERIAL_UNIFORM_SET);
|
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, material_uniform_set, MATERIAL_UNIFORM_SET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1684,8 +1684,8 @@ void RenderForwardMobile::_render_list_template(RenderingDevice::DrawListID p_dr
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (material_uniform_set != prev_material_uniform_set) {
|
if (material_uniform_set != prev_material_uniform_set) {
|
||||||
//update uniform set
|
// Update uniform set.
|
||||||
if (material_uniform_set.is_valid()) {
|
if (RD::get_singleton()->uniform_set_is_valid(material_uniform_set)) { // Material may not have a uniform set.
|
||||||
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, material_uniform_set, MATERIAL_UNIFORM_SET);
|
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, material_uniform_set, MATERIAL_UNIFORM_SET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1089,7 +1089,8 @@ void RendererCanvasRenderRD::_render_items(RID p_to_render_target, int p_item_co
|
|||||||
if (material_data) {
|
if (material_data) {
|
||||||
if (material_data->shader_data->version.is_valid() && material_data->shader_data->valid) {
|
if (material_data->shader_data->version.is_valid() && material_data->shader_data->valid) {
|
||||||
pipeline_variants = &material_data->shader_data->pipeline_variants;
|
pipeline_variants = &material_data->shader_data->pipeline_variants;
|
||||||
if (material_data->uniform_set.is_valid()) {
|
// Update uniform set.
|
||||||
|
if (RD::get_singleton()->uniform_set_is_valid(material_data->uniform_set)) { // Material may not have a uniform set.
|
||||||
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, material_data->uniform_set, MATERIAL_UNIFORM_SET);
|
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, material_data->uniform_set, MATERIAL_UNIFORM_SET);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -285,12 +285,15 @@ void RendererSceneSkyRD::_render_sky(RD::DrawListID p_list, float p_time, RID p_
|
|||||||
|
|
||||||
RD::get_singleton()->draw_list_bind_render_pipeline(draw_list, p_pipeline->get_render_pipeline(RD::INVALID_ID, fb_format));
|
RD::get_singleton()->draw_list_bind_render_pipeline(draw_list, p_pipeline->get_render_pipeline(RD::INVALID_ID, fb_format));
|
||||||
|
|
||||||
|
// Update uniform sets.
|
||||||
|
{
|
||||||
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, sky_scene_state.uniform_set, 0);
|
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, sky_scene_state.uniform_set, 0);
|
||||||
if (p_uniform_set.is_valid()) { //material may not have uniform set
|
if (RD::get_singleton()->uniform_set_is_valid(p_uniform_set)) { // Material may not have a uniform set.
|
||||||
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, p_uniform_set, 1);
|
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, p_uniform_set, 1);
|
||||||
}
|
}
|
||||||
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, p_texture_set, 2);
|
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, p_texture_set, 2);
|
||||||
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, sky_scene_state.fog_uniform_set, 3);
|
RD::get_singleton()->draw_list_bind_uniform_set(draw_list, sky_scene_state.fog_uniform_set, 3);
|
||||||
|
}
|
||||||
|
|
||||||
RD::get_singleton()->draw_list_bind_index_array(draw_list, index_array);
|
RD::get_singleton()->draw_list_bind_index_array(draw_list, index_array);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user