paint: call order fixes

This commit is contained in:
luboslenco
2026-07-12 00:42:45 +02:00
parent 6052e5d6a2
commit 59679abbc8
5 changed files with 70 additions and 32 deletions
+18 -1
View File
@@ -48,8 +48,25 @@ void render_path_raytrace_commands(bool use_live_layer) {
}
////
if (g_context->pdirty > 0 || g_context->rtdirty > 0) {
bool is_live = g_config->brush_live && render_path_paint_live_layer_drawn > 0 && render_path_paint_live_layer != NULL;
if (g_context->pdirty > 0 || g_context->rtdirty > 0 || is_live) {
slot_layer_t *layer = g_context->layer;
gpu_texture_t *_texpaint = layer->texpaint;
gpu_texture_t *_texpaint_nor = layer->texpaint_nor;
gpu_texture_t *_texpaint_pack = layer->texpaint_pack;
if (is_live) {
layer->texpaint = render_path_paint_live_layer->texpaint;
if (slot_layer_is_layer(layer)) {
layer->texpaint_nor = render_path_paint_live_layer->texpaint_nor;
layer->texpaint_pack = render_path_paint_live_layer->texpaint_pack;
}
}
layers_flatten(true, NULL);
if (is_live) {
layer->texpaint = _texpaint;
layer->texpaint_nor = _texpaint_nor;
layer->texpaint_pack = _texpaint_pack;
}
g_context->rtdirty = 0;
}