forked from bartvdbraak/blender
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:
parent
93ac968db3
commit
7404c1a553
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user