Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/render/buffers.cpp
| Show First 20 Lines • Show All 150 Lines • ▼ Show 20 Lines | void RenderBuffers::reset(Device *device, BufferParams& params_) | ||||
| device->mem_zero(buffer); | device->mem_zero(buffer); | ||||
| /* allocate rng state */ | /* allocate rng state */ | ||||
| rng_state.resize(params.width, params.height); | rng_state.resize(params.width, params.height); | ||||
| device->mem_alloc("rng_state", rng_state, MEM_READ_WRITE); | device->mem_alloc("rng_state", rng_state, MEM_READ_WRITE); | ||||
| } | } | ||||
| bool RenderBuffers::copy_from_device() | bool RenderBuffers::copy_from_device(Device *from_device) | ||||
| { | { | ||||
| if(!buffer.device_pointer) | if(!buffer.device_pointer) | ||||
| return false; | return false; | ||||
brecht: Move this after `if(!buffer.device_pointer)` check. | |||||
| device->mem_copy_from(buffer, 0, params.width, params.height, params.get_passes_size()*sizeof(float)); | if(!from_device) { | ||||
| from_device = device; | |||||
| } | |||||
| from_device->mem_copy_from(buffer, 0, params.width, params.height, params.get_passes_size()*sizeof(float)); | |||||
| return true; | return true; | ||||
| } | } | ||||
| bool RenderBuffers::get_pass_rect(PassType type, float exposure, int sample, int components, float *pixels) | bool RenderBuffers::get_pass_rect(PassType type, float exposure, int sample, int components, float *pixels) | ||||
| { | { | ||||
| int pass_offset = 0; | int pass_offset = 0; | ||||
| ▲ Show 20 Lines • Show All 272 Lines • Show Last 20 Lines | |||||
Move this after if(!buffer.device_pointer) check.