Fix another part of #34877: cycles progress status text not showing correct with

per render layer samples in addition to the progress bar.

Also fixed job progress bar not working at all on high DPI / retina, was so small
the actual progress was not visible.
This commit is contained in:
Brecht Van Lommel 2013-04-05 17:57:26 +00:00
parent 93ac968db3
commit 7404c1a553
4 changed files with 11 additions and 10 deletions

@ -549,7 +549,7 @@ void BlenderSession::get_progress(float& progress, double& total_time)
session->progress.get_tile(tile, total_time, tile_time);
sample = session->progress.get_sample();
samples_per_tile = session->tile_manager.state.num_samples;
samples_per_tile = session->tile_manager.num_samples;
if(samples_per_tile && tile_total)
progress = ((float)sample / (float)(tile_total * samples_per_tile));

@ -758,7 +758,7 @@ void Session::update_status_time(bool show_pause, bool show_done)
* also display the info on CPU, when using 1 tile only
*/
int sample = progress.get_sample(), num_samples = tile_manager.state.num_samples;
int sample = progress.get_sample(), num_samples = tile_manager.num_samples;
if(tile > 1) {
/* sample counter is global for all tiles, subtract samples
@ -771,10 +771,10 @@ void Session::update_status_time(bool show_pause, bool show_done)
substatus += string_printf(", Sample %d/%d", sample, num_samples);
}
}
else if(params.samples == INT_MAX)
else if(tile_manager.num_samples == INT_MAX)
substatus = string_printf("Path Tracing Sample %d", sample+1);
else
substatus = string_printf("Path Tracing Sample %d/%d", sample+1, params.samples);
substatus = string_printf("Path Tracing Sample %d/%d", sample+1, tile_manager.num_samples);
if(show_pause)
status = "Paused";
@ -846,7 +846,7 @@ void Session::tonemap()
bool Session::update_progressive_refine(bool cancel)
{
int sample = tile_manager.state.sample + 1;
bool write = sample == params.samples || cancel;
bool write = sample == tile_manager.num_samples || cancel;
double current_time = time_dt();

@ -58,6 +58,8 @@ public:
list<Tile> tiles;
} state;
int num_samples;
TileManager(bool progressive, int num_samples, int2 tile_size, int start_resolution,
bool preserve_tile_device, bool background, int tile_order, int num_devices = 1);
~TileManager();
@ -82,7 +84,6 @@ protected:
void set_tiles();
bool progressive;
int num_samples;
int2 tile_size;
int tile_order;
int start_resolution;

@ -2506,8 +2506,8 @@ static void widget_progressbar(uiBut *but, uiWidgetColors *wcol, rcti *rect, int
/* make the progress bar a proportion of the original height */
/* hardcoded 4px high for now */
rect_prog.ymax = rect_prog.ymin + 4;
rect_bar.ymax = rect_bar.ymin + 4;
rect_prog.ymax = rect_prog.ymin + 4 * UI_DPI_FAC;
rect_bar.ymax = rect_bar.ymin + 4 * UI_DPI_FAC;
w = value * BLI_rcti_size_x(&rect_prog);
@ -2520,8 +2520,8 @@ static void widget_progressbar(uiBut *but, uiWidgetColors *wcol, rcti *rect, int
uiWidgetScrollDraw(wcol, &rect_prog, &rect_bar, UI_SCROLL_NO_OUTLINE);
/* raise text a bit */
rect->ymin += 6;
rect->xmin -= 6;
rect->ymin += 6 * UI_DPI_FAC;
rect->xmin -= 6 * UI_DPI_FAC;
}
static void widget_link(uiBut *but, uiWidgetColors *UNUSED(wcol), rcti *rect, int UNUSED(state), int UNUSED(roundboxalign))