|
@@ -1123,7 +1123,7 @@ void RasterizerCanvasGLES3::_record_item_commands(const Item *p_item, RID p_rend
|
|
case Item::Command::TYPE_PRIMITIVE: {
|
|
case Item::Command::TYPE_PRIMITIVE: {
|
|
const Item::CommandPrimitive *primitive = static_cast<const Item::CommandPrimitive *>(c);
|
|
const Item::CommandPrimitive *primitive = static_cast<const Item::CommandPrimitive *>(c);
|
|
|
|
|
|
- if (primitive->point_count != state.canvas_instance_batches[state.current_batch_index].primitive_points || state.canvas_instance_batches[state.current_batch_index].command_type != Item::Command::TYPE_PRIMITIVE) {
|
|
|
|
|
|
+ if (primitive->point_count != state.canvas_instance_batches[state.current_batch_index].primitive_points || state.canvas_instance_batches[state.current_batch_index].command_type != Item::Command::TYPE_PRIMITIVE || primitive->texture != state.canvas_instance_batches[state.current_batch_index].tex) {
|
|
_new_batch(r_batch_broken);
|
|
_new_batch(r_batch_broken);
|
|
state.canvas_instance_batches[state.current_batch_index].tex = primitive->texture;
|
|
state.canvas_instance_batches[state.current_batch_index].tex = primitive->texture;
|
|
state.canvas_instance_batches[state.current_batch_index].primitive_points = primitive->point_count;
|
|
state.canvas_instance_batches[state.current_batch_index].primitive_points = primitive->point_count;
|