Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/device/opencl/opencl_base.cpp
| Show First 20 Lines • Show All 207 Lines • ▼ Show 20 Lines | bool OpenCLDeviceBase::load_kernels(const DeviceRequestedFeatures& requested_features) | ||||
| base_program = OpenCLProgram(this, "base", "kernel.cl", build_options_for_base_program(requested_features)); | base_program = OpenCLProgram(this, "base", "kernel.cl", build_options_for_base_program(requested_features)); | ||||
| base_program.add_kernel(ustring("convert_to_byte")); | base_program.add_kernel(ustring("convert_to_byte")); | ||||
| base_program.add_kernel(ustring("convert_to_half_float")); | base_program.add_kernel(ustring("convert_to_half_float")); | ||||
| base_program.add_kernel(ustring("shader")); | base_program.add_kernel(ustring("shader")); | ||||
| base_program.add_kernel(ustring("bake")); | base_program.add_kernel(ustring("bake")); | ||||
| base_program.add_kernel(ustring("zero_buffer")); | base_program.add_kernel(ustring("zero_buffer")); | ||||
| denoising_program = OpenCLProgram(this, "denoising", "filter.cl", ""); | |||||
| denoising_program.add_kernel(ustring("filter_divide_shadow")); | |||||
| denoising_program.add_kernel(ustring("filter_get_feature")); | |||||
| denoising_program.add_kernel(ustring("filter_combine_halves")); | |||||
| denoising_program.add_kernel(ustring("filter_construct_transform")); | |||||
| denoising_program.add_kernel(ustring("filter_nlm_calc_difference")); | |||||
| denoising_program.add_kernel(ustring("filter_nlm_blur")); | |||||
| denoising_program.add_kernel(ustring("filter_nlm_calc_weight")); | |||||
| denoising_program.add_kernel(ustring("filter_nlm_update_output")); | |||||
| denoising_program.add_kernel(ustring("filter_nlm_normalize")); | |||||
| denoising_program.add_kernel(ustring("filter_nlm_construct_gramian")); | |||||
| denoising_program.add_kernel(ustring("filter_finalize")); | |||||
| denoising_program.add_kernel(ustring("filter_set_tiles")); | |||||
| vector<OpenCLProgram*> programs; | vector<OpenCLProgram*> programs; | ||||
| programs.push_back(&base_program); | programs.push_back(&base_program); | ||||
| programs.push_back(&denoising_program); | |||||
| /* Call actual class to fill the vector with its programs. */ | /* Call actual class to fill the vector with its programs. */ | ||||
| if(!load_kernels(requested_features, programs)) { | if(!load_kernels(requested_features, programs)) { | ||||
| return false; | return false; | ||||
| } | } | ||||
| /* Parallel compilation is supported by Cycles, but currently all OpenCL frameworks | /* Parallel compilation is supported by Cycles, but currently all OpenCL frameworks | ||||
| * serialize the calls internally, so it's not much use right now. | * serialize the calls internally, so it's not much use right now. | ||||
| * Note: When enabling parallel compilation, use_stdout in the OpenCLProgram constructor | * Note: When enabling parallel compilation, use_stdout in the OpenCLProgram constructor | ||||
| ▲ Show 20 Lines • Show All 588 Lines • Show Last 20 Lines | |||||