浏览代码

GLES3: Skip batches with zero instance count while rendering

(cherry picked from commit 51dcb388409095133261fb98c8822fbc6bb55c8e)
HolySkyMin 1 年之前
父节点
当前提交
fc15ffed1e
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      drivers/gles3/rasterizer_canvas_gles3.cpp

+ 5 - 0
drivers/gles3/rasterizer_canvas_gles3.cpp

@@ -661,6 +661,11 @@ void RasterizerCanvasGLES3::_render_items(RID p_to_render_target, int p_item_cou
 	state.current_tex = RID();
 
 	for (uint32_t i = 0; i <= state.current_batch_index; i++) {
+		// Skipping when there is no instances.
+		if (state.canvas_instance_batches[i].instance_count == 0) {
+			continue;
+		}
+
 		//setup clip
 		if (current_clip != state.canvas_instance_batches[i].clip) {
 			current_clip = state.canvas_instance_batches[i].clip;