Blender
V3.3
|
#include <work_tile_scheduler.h>
Public Member Functions | |
WorkTileScheduler () | |
void | set_accelerated_rt (bool state) |
void | set_max_num_path_states (int max_num_path_states) |
void | reset (const BufferParams &buffer_params, int sample_start, int samples_num, int sample_offset, float scrambling_distance) |
bool | get_work (KernelWorkTile *work_tile, const int max_work_size=0) |
Protected Member Functions | |
void | reset_scheduler_state () |
Protected Attributes | |
bool | accelerated_rt_ = false |
int | max_num_path_states_ = 0 |
int2 | image_full_offset_px_ = make_int2(0, 0) |
int2 | image_size_px_ = make_int2(0, 0) |
int | offset_ |
int | stride_ |
float | scrambling_distance_ |
int | sample_start_ = 0 |
int | samples_num_ = 0 |
int | sample_offset_ = 0 |
TileSize | tile_size_ |
int | num_tiles_x_ |
int | num_tiles_y_ |
int | total_tiles_num_ = 0 |
int | num_tiles_per_sample_range_ = 0 |
int | next_work_index_ = 0 |
int | total_work_size_ = 0 |
Definition at line 17 of file work_tile_scheduler.h.
CCL_NAMESPACE_BEGIN WorkTileScheduler::WorkTileScheduler | ( | ) |
Definition at line 14 of file work_tile_scheduler.cpp.
bool WorkTileScheduler::get_work | ( | KernelWorkTile * | work_tile, |
const int | max_work_size = 0 |
||
) |
Definition at line 88 of file work_tile_scheduler.cpp.
References DCHECK_GT, DCHECK_NE, KernelWorkTile::h, TileSize::height, image_full_offset_px_, image_size_px_, max_num_path_states_, min, next_work_index_, TileSize::num_samples, KernelWorkTile::num_samples, num_tiles_per_sample_range_, num_tiles_x_, KernelWorkTile::offset, offset_, KernelWorkTile::sample_offset, sample_offset_, sample_start_, samples_num_, KernelWorkTile::start_sample, KernelWorkTile::stride, stride_, tile_index, tile_size_, total_work_size_, KernelWorkTile::w, TileSize::width, work_index, KernelWorkTile::x, int2::x, KernelWorkTile::y, and int2::y.
Referenced by PathTraceWorkGPU::enqueue_work_tiles().
void WorkTileScheduler::reset | ( | const BufferParams & | buffer_params, |
int | sample_start, | ||
int | samples_num, | ||
int | sample_offset, | ||
float | scrambling_distance | ||
) |
Definition at line 28 of file work_tile_scheduler.cpp.
References BufferParams::full_x, BufferParams::full_y, BufferParams::height, image_full_offset_px_, image_size_px_, make_int2, BufferParams::offset, offset_, reset_scheduler_state(), sample_offset_, sample_start_, samples_num_, scrambling_distance_, BufferParams::stride, stride_, BufferParams::width, int2::x, and int2::y.
Referenced by PathTraceWorkGPU::render_samples().
|
protected |
Definition at line 53 of file work_tile_scheduler.cpp.
References accelerated_rt_, divide_up(), TileSize::height, image_size_px_, max_num_path_states_, next_work_index_, TileSize::num_samples, num_tiles, num_tiles_per_sample_range_, num_tiles_x_, num_tiles_y_, samples_num_, scrambling_distance_, tile_calculate_best_size(), tile_size_, total_tiles_num_, total_work_size_, VLOG_IS_ON, VLOG_WORK, TileSize::width, int2::x, and int2::y.
Referenced by reset().
Definition at line 18 of file work_tile_scheduler.cpp.
References accelerated_rt_.
Referenced by PathTraceWorkGPU::render_samples().
void WorkTileScheduler::set_max_num_path_states | ( | int | max_num_path_states | ) |
Definition at line 23 of file work_tile_scheduler.cpp.
References max_num_path_states_.
Referenced by PathTraceWorkGPU::render_samples().
|
protected |
Definition at line 49 of file work_tile_scheduler.h.
Referenced by reset_scheduler_state(), and set_accelerated_rt().
Definition at line 59 of file work_tile_scheduler.h.
Referenced by get_work(), and reset().
Definition at line 62 of file work_tile_scheduler.h.
Referenced by get_work(), reset(), and reset_scheduler_state().
|
protected |
Definition at line 56 of file work_tile_scheduler.h.
Referenced by get_work(), reset_scheduler_state(), and set_max_num_path_states().
|
protected |
Definition at line 95 of file work_tile_scheduler.h.
Referenced by get_work(), and reset_scheduler_state().
|
protected |
Definition at line 93 of file work_tile_scheduler.h.
Referenced by get_work(), and reset_scheduler_state().
|
protected |
Definition at line 82 of file work_tile_scheduler.h.
Referenced by get_work(), and reset_scheduler_state().
|
protected |
Definition at line 82 of file work_tile_scheduler.h.
Referenced by reset_scheduler_state().
|
protected |
Definition at line 66 of file work_tile_scheduler.h.
Referenced by get_work(), and reset().
|
protected |
Definition at line 76 of file work_tile_scheduler.h.
Referenced by get_work(), and reset().
|
protected |
Definition at line 74 of file work_tile_scheduler.h.
Referenced by get_work(), and reset().
|
protected |
Definition at line 75 of file work_tile_scheduler.h.
Referenced by get_work(), reset(), and reset_scheduler_state().
|
protected |
Definition at line 69 of file work_tile_scheduler.h.
Referenced by reset(), and reset_scheduler_state().
|
protected |
Definition at line 66 of file work_tile_scheduler.h.
Referenced by get_work(), and reset().
|
protected |
Definition at line 79 of file work_tile_scheduler.h.
Referenced by get_work(), and reset_scheduler_state().
|
protected |
Definition at line 89 of file work_tile_scheduler.h.
Referenced by reset_scheduler_state().
|
protected |
Definition at line 96 of file work_tile_scheduler.h.
Referenced by get_work(), and reset_scheduler_state().