16 const int num_samples)
35 const int destination_stride = destination.
stride != 0 ? destination.
stride :
43 DCHECK_EQ(destination.
stride, 0) <<
"Custom stride for float destination is not implemented.";
81#define DEFINE_PASS_ACCESSOR(pass, kernel_pass) \
82 void PassAccessorGPU::get_pass_##pass(const RenderBuffers *render_buffers, \
83 const BufferParams &buffer_params, \
84 const Destination &destination) const \
86 run_film_convert_kernels( \
87 DEVICE_KERNEL_FILM_CONVERT_##kernel_pass, render_buffers, buffer_params, destination); \
110#undef DEFINE_PASS_ACCESSOR
PassAccessorGPU(DeviceQueue *queue, const PassAccessInfo &pass_access_info, const float exposure, int num_samples)
void run_film_convert_kernels(DeviceKernel kernel, const RenderBuffers *render_buffers, const BufferParams &buffer_params, const Destination &destination) const
device_ptr d_pixels_half_rgba
PassAccessor(const PassAccessInfo &pass_access_info, const float exposure, const int num_samples)
virtual void init_kernel_film_convert(KernelFilmConvert *kfilm_convert, const BufferParams &buffer_params, const Destination &destination) const
device_vector< float > buffer
device_ptr device_pointer
#define CCL_NAMESPACE_END
ccl_gpu_kernel_postfix const ccl_global int ccl_global float const int work_size
#define DEFINE_PASS_ACCESSOR(pass, kernel_pass)