diff options
author | Ton Roosendaal <ton@blender.org> | 2009-01-22 17:59:49 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-01-22 17:59:49 +0300 |
commit | 9cc59fb0c329bb788defe9c56b69d0919caaba96 (patch) | |
tree | f6f1c48441ba6de4f2ff1faf19a0540ce1dc6ba5 /source/blender/yafray/intern | |
parent | a017982074b3b11fd0157d8d604e02858411db70 (diff) |
2.5
Added WM Jobs manager
- WM can manage threaded jobs for you; just provide a couple
of components to get it work:
- customdata, free callback for it
- timer step, notifier code
- start callback, update callback
- Once started, each job runs an own timer, and will for
every time step check necessary updates, or close the
job when ready.
- No drawing happens in jobs, that's for notifiers!
- Every job stores an owner pointer, and based on this owner
it will prevent multiple jobs to enter the stack.
Instead it will re-use a running job, signal it to stop
and allow caller to re-initialize it even.
- Check new wm_jobs.c for more explanation. Jobs API is still
under construction.
Fun: BLI_addtail(&wm->jobs, steve); :)
Put Node shader previews back using wmJobs
- Preview calculating is now fully threaded (1 thread still)
- Thanks to new event system + notifiers, you can see
previews update even while dragging sliders!
- Currently it only starts when you change a node setting.
Warning: the thread render shares Node data, so don't delete
nodes while it renders! This topic is on the todo to make safe.
Also:
- bug in region initialize (do_versions) showed channel list in
node editor wrong.
- flagged the channel list 'hidden' now, it was really in the
way! This is for later to work on anyway.
- recoded Render API callbacks so it gets handlers passed on,
no globals to use anymore, remember?
- previewrender code gets now so much nicer! Will remove a lot
of stuff from code soon.
Diffstat (limited to 'source/blender/yafray/intern')
-rw-r--r-- | source/blender/yafray/intern/export_File.cpp | 2 | ||||
-rw-r--r-- | source/blender/yafray/intern/export_Plugin.cpp | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/yafray/intern/export_File.cpp b/source/blender/yafray/intern/export_File.cpp index 25d30027ee8..831c1e93307 100644 --- a/source/blender/yafray/intern/export_File.cpp +++ b/source/blender/yafray/intern/export_File.cpp @@ -360,7 +360,7 @@ void yafrayFileRender_t::displayImage() // based on another assumption of ogl errors on my system, forgot to actually draw it... re->result->renlay = render_get_active_layer(re, re->result); - re->display_draw(re->result, NULL); + re->display_draw(re->ddh, re->result, NULL); } diff --git a/source/blender/yafray/intern/export_Plugin.cpp b/source/blender/yafray/intern/export_Plugin.cpp index 1de6920182a..9d537f18667 100644 --- a/source/blender/yafray/intern/export_Plugin.cpp +++ b/source/blender/yafray/intern/export_Plugin.cpp @@ -1946,11 +1946,11 @@ bool blenderYafrayOutput_t::putPixel(int x, int y, const yafray::color_t &c, out++; if ((out==4096) || ((x+y*re->rectx) == ((re->rectx-1)+(re->recty-1)*re->rectx))) { re->result->renlay = render_get_active_layer(re, re->result); - re->display_draw(re->result, NULL); + re->display_draw(re->ddh, re->result, NULL); out = 0; } } - if (re->test_break()) return false; + if (re->test_break(re->tbh)) return false; return true; } @@ -1982,9 +1982,9 @@ bool blenderYafrayOutput_t::putPixel(int x, int y, const yafray::color_t &c, re->result->renlay = render_get_active_layer(re, re->result); // note: ymin/ymax swapped here, img. upside down! rcti rt = {txs, txe+1, maxy-tye, ((tys==0) ? maxy : (rres.recty-tys))}; // !!! tys can be zero - re->display_draw(re->result, &rt); + re->display_draw(re->ddh, re->result, &rt); } - if (re->test_break()) return false; + if (re->test_break(re->tbh)) return false; return true; } |