Browse Source

Store blend mode between CanvasItems to preserve batching

clayjohn 2 years ago
parent
commit
ab4e79cd03
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/gles3/rasterizer_canvas_gles3.cpp

+ 1 - 1
drivers/gles3/rasterizer_canvas_gles3.cpp

@@ -566,6 +566,7 @@ void RasterizerCanvasGLES3::_render_items(RID p_to_render_target, int p_item_cou
 
 
 	uint32_t index = 0;
 	uint32_t index = 0;
 	Item *current_clip = nullptr;
 	Item *current_clip = nullptr;
+	GLES3::CanvasShaderData *shader_data_cache = nullptr;
 
 
 	// Record Batches.
 	// Record Batches.
 	// First item always forms its own batch.
 	// First item always forms its own batch.
@@ -602,7 +603,6 @@ void RasterizerCanvasGLES3::_render_items(RID p_to_render_target, int p_item_cou
 			}
 			}
 		}
 		}
 
 
-		GLES3::CanvasShaderData *shader_data_cache = nullptr;
 		if (material != state.canvas_instance_batches[state.current_batch_index].material) {
 		if (material != state.canvas_instance_batches[state.current_batch_index].material) {
 			_new_batch(batch_broken);
 			_new_batch(batch_broken);