summaryrefslogtreecommitdiff
path: root/servers/visual/rasterizer/rasterizer_canvas_rd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'servers/visual/rasterizer/rasterizer_canvas_rd.cpp')
-rw-r--r--servers/visual/rasterizer/rasterizer_canvas_rd.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/servers/visual/rasterizer/rasterizer_canvas_rd.cpp b/servers/visual/rasterizer/rasterizer_canvas_rd.cpp
index 4d6910af32..d72be70677 100644
--- a/servers/visual/rasterizer/rasterizer_canvas_rd.cpp
+++ b/servers/visual/rasterizer/rasterizer_canvas_rd.cpp
@@ -495,9 +495,6 @@ Size2i RasterizerCanvasRD::_bind_texture_binding(TextureBindingID p_binding, RD:
////////////////////
void RasterizerCanvasRD::_render_item(RD::DrawListID p_draw_list, const Item *p_item, RenderTargetFormat p_render_target_format, RD::TextureSamples p_samples, const Color &p_modulate, const Transform2D &p_canvas_transform_inverse, Item *&current_clip) {
- int cc = p_item->commands.size();
- const Item::Command *const *commands = p_item->commands.ptr();
-
//create an empty push constant
PushConstant push_constant;
Transform2D base_transform = p_canvas_transform_inverse * p_item->final_transform;
@@ -521,9 +518,9 @@ void RasterizerCanvasRD::_render_item(RD::DrawListID p_draw_list, const Item *p_
bool reclip = false;
- for (int i = 0; i < cc; i++) {
+ const Item::Command *c = p_item->commands;
+ while (c) {
- const Item::Command *c = commands[i];
push_constant.flags = 0; //reset on each command for sanity
switch (c->type) {
@@ -1100,6 +1097,8 @@ void RasterizerCanvasRD::_render_item(RD::DrawListID p_draw_list, const Item *p_
} break;
}
+
+ c = c->next;
}
if (current_clip && reclip) {