|
Blender V4.3
|
#include "kernel/device/gpu/parallel_active_index.h"#include "kernel/device/gpu/parallel_prefix_sum.h"#include "kernel/device/gpu/parallel_sorted_index.h"#include "kernel/sample/lcg.h"#include "kernel/tables.h"#include "kernel/device/gpu/work_stealing.h"#include "kernel/integrator/state.h"#include "kernel/integrator/state_flow.h"#include "kernel/integrator/state_util.h"#include "kernel/integrator/init_from_bake.h"#include "kernel/integrator/init_from_camera.h"#include "kernel/integrator/intersect_closest.h"#include "kernel/integrator/intersect_dedicated_light.h"#include "kernel/integrator/intersect_shadow.h"#include "kernel/integrator/intersect_subsurface.h"#include "kernel/integrator/intersect_volume_stack.h"#include "kernel/integrator/shade_background.h"#include "kernel/integrator/shade_dedicated_light.h"#include "kernel/integrator/shade_light.h"#include "kernel/integrator/shade_shadow.h"#include "kernel/integrator/shade_surface.h"#include "kernel/integrator/shade_volume.h"#include "kernel/bake/bake.h"#include "kernel/film/adaptive_sampling.h"#include "kernel/film/read.h"Go to the source code of this file.
Macros | |
| #define | FILM_GET_PASS_PIXEL_F32(variant, input_channel_count) film_get_pass_pixel_##variant(&kfilm_convert, buffer, pixel); |
| #define | KERNEL_FILM_CONVERT_VARIANT(variant, input_channel_count) |
Functions | |
| ccl_gpu_kernel (GPU_KERNEL_BLOCK_NUM_THREADS, GPU_KERNEL_MAX_REGISTERS) ccl_gpu_kernel_signature(integrator_reset | |
| if (state< num_states) | |
| if (work_index >=max_tile_work_size *num_tiles) | |
| if (tile_work_index >=tile->work_size) | |
| ccl_gpu_kernel_call (get_work_pixel(tile, tile_work_index, &x, &y, &sample)) | |
| ccl_gpu_kernel_call (integrator_init_from_camera(nullptr, state, tile, render_buffer, x, y, sample)) | |
| ccl_gpu_kernel_call (integrator_init_from_bake(nullptr, state, tile, render_buffer, x, y, sample)) | |
| if (ccl_gpu_kernel_within_bounds(global_index, work_size)) | |
Variables | |
| int | num_states |
| ccl_gpu_kernel_postfix ccl_global KernelWorkTile * | tiles |
| ccl_gpu_kernel_postfix ccl_global KernelWorkTile const int | num_tiles |
| ccl_gpu_kernel_postfix ccl_global KernelWorkTile const int ccl_global float * | render_buffer |
| ccl_gpu_kernel_postfix ccl_global KernelWorkTile const int ccl_global float const int | max_tile_work_size |
| const int | tile_index = work_index / max_tile_work_size |
| const int | tile_work_index = work_index - tile_index * max_tile_work_size |
| ccl_global const KernelWorkTile * | tile = &tiles[tile_index] |
| const int | state = tile->path_index_offset + tile_work_index |
| uint | x |
| uint | y |
| uint | sample |
| ccl_gpu_kernel_postfix ccl_global const int * | path_index_array |
| ccl_gpu_kernel_postfix ccl_global const int ccl_global float const int | work_size |
| #define FILM_GET_PASS_PIXEL_F32 | ( | variant, | |
| input_channel_count ) film_get_pass_pixel_##variant(&kfilm_convert, buffer, pixel); |
| #define KERNEL_FILM_CONVERT_VARIANT | ( | variant, | |
| input_channel_count ) |
| ccl_gpu_kernel_postfix ccl_gpu_kernel | ( | GPU_KERNEL_BLOCK_NUM_THREADS | , |
| GPU_KERNEL_MAX_REGISTERS | ) |
| ccl_gpu_kernel_call | ( | get_work_pixel(tile, tile_work_index, &x, &y, &sample) | ) |
| ccl_gpu_kernel_call | ( | integrator_init_from_bake(nullptr, state, tile, render_buffer, x, y, sample) | ) |
| ccl_gpu_kernel_call | ( | integrator_init_from_camera(nullptr, state, tile, render_buffer, x, y, sample) | ) |
| if | ( | ccl_gpu_kernel_within_bounds(global_index, work_size) | ) |
Definition at line 153 of file kernel/device/gpu/kernel.h.
References ccl_gpu_kernel_call, integrator_intersect_closest(), NULL, path_index_array, render_buffer, and state.
| if | ( | ) |
Definition at line 66 of file kernel/device/gpu/kernel.h.
References INTEGRATOR_STATE_WRITE, and state.
| if | ( | tile_work_index >=tile-> | work_size | ) |
Definition at line 91 of file kernel/device/gpu/kernel.h.
| if | ( | work_index >=max_tile_work_size * | num_tiles | ) |
Definition at line 82 of file kernel/device/gpu/kernel.h.
| ccl_gpu_kernel_postfix ccl_global KernelWorkTile const int ccl_global float const int max_tile_work_size |
Definition at line 78 of file kernel/device/gpu/kernel.h.
Referenced by PathTraceWorkGPU::enqueue_work_tiles().
| int num_states |
Definition at line 62 of file kernel/device/gpu/kernel.h.
Referenced by gpu_parallel_active_index_array_impl(), and gpu_parallel_sorted_index_array().
| ccl_gpu_kernel_postfix ccl_global KernelWorkTile const int num_tiles |
Definition at line 76 of file kernel/device/gpu/kernel.h.
Referenced by WorkTileScheduler::reset_scheduler_state(), and Session::update_status_time().
| ccl_gpu_kernel_postfix ccl_global const int * path_index_array |
Definition at line 147 of file kernel/device/gpu/kernel.h.
Referenced by if().
| ccl_gpu_kernel_postfix ccl_global const int ccl_global float * render_buffer |
Definition at line 77 of file kernel/device/gpu/kernel.h.
Referenced by PathTraceWorkCPU::adaptive_sampling_converge_filter_count_active(), adaptive_sampling_convergence_check(), adaptive_sampling_filter_x(), adaptive_sampling_filter_y(), PathTraceWorkCPU::cryptomatte_postproces(), cryptomatte_postprocess(), film_adaptive_sampling_convergence_check(), film_adaptive_sampling_filter_x(), film_adaptive_sampling_filter_y(), film_cryptomatte_post(), film_need_sample_pixel(), film_pass_pixel_render_buffer(), film_pass_pixel_render_buffer_shadow(), film_write_aov_pass_color(), film_write_aov_pass_value(), film_write_background(), film_write_data_passes(), film_write_data_passes_background(), film_write_direct_light(), film_write_holdout(), film_write_sample(), film_write_surface_emission(), film_write_volume_emission(), guiding_write_debug_passes(), if(), integrate_background(), integrate_distant_lights(), integrate_light(), integrate_surface(), integrate_surface_emission(), integrate_surface_holdout(), integrator_eval_background_shader(), integrator_init_from_bake(), integrator_init_from_camera(), integrator_intersect_closest(), integrator_intersect_next_kernel(), integrator_intersect_next_kernel_after_volume(), integrator_megakernel(), integrator_shade_background(), integrator_shade_dedicated_light(), integrator_shade_light(), integrator_shade_shadow(), integrator_shade_surface(), integrator_shade_surface_mnee(), integrator_shade_surface_raytrace(), integrator_shade_volume(), PathTraceWorkCPU::render_samples_full_pipeline(), svm_eval_nodes(), svm_node_aov_check(), svm_node_aov_color(), and svm_node_aov_value().
| uint sample |
Definition at line 97 of file kernel/device/gpu/kernel.h.
Referenced by blender::ed::sculpt_paint::accumulate_samples(), BCSampleFrame::add(), BCAnimationCurve::add_value_from_matrix(), blf_get_sample_text(), blue_noise_indexing(), blender::ed::sculpt_paint::greasepencil::brush_fill_influence(), blender::ed::sculpt_paint::greasepencil::brush_point_influence(), blender::compositor::PlaneDistortBaseOperation::calculate_corners(), blender::compositor::PlaneDistortWarpImageOperation::calculate_corners(), AnimationExporter::collada_source_from_values(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::compute_piecewise_linear_falloff(), cycles_precompute(), blender::ed::sculpt_paint::do_multiplane_scrape_brush(), blender::io::alembic::ABCCurveWriter::do_write(), blender::io::alembic::ABCHairWriter::do_write(), blender::io::alembic::ABCNurbsWriter::do_write(), blender::io::alembic::ABCPointsWriter::do_write(), draw_seq_waveform_overlay(), dynamic_paint_create_uv_surface_direct_cb(), libmv::two_view::kernel::Kernel< SolverArg, ErrorArg, ModelArg >::Error(), film_adaptive_sampling_convergence_check(), film_write_adaptive_buffer(), film_write_background(), film_write_combined_pass(), film_write_combined_transparent_pass(), film_write_data_passes(), film_write_data_passes_background(), film_write_direct_light(), film_write_sample(), film_write_surface_emission(), film_write_volume_emission(), blender::compositor::PlaneDistortWarpImageOperation::get_area_of_interest(), BCSampleFrameContainer::get_matrices(), BCSampleFrame::get_sample_matrix(), BCSampleFrame::get_sample_matrix(), BCSampleFrameContainer::get_samples(), blender::io::alembic::get_shutter_samples(), blender::RandomNumberGenerator::get_triangle_sample(), blender::RandomNumberGenerator::get_triangle_sample_3d(), blender::io::alembic::get_uv_sample(), get_work_pixel(), IMB_font_preview(), integrate_camera_sample(), integrate_direct_light_shadow_init_common(), integrate_surface(), integrator_init_from_bake(), integrator_init_from_camera(), blender::eevee::DepthOfField::jitter_apply(), lcg_state_init(), AdaptiveSampling::need_filter(), ScaleDownX::op(), ScaleDownY::op(), ScaleUpX::op(), ScaleUpY::op(), blender::ed::sculpt_paint::paint_smooth_stroke(), blender::ed::sculpt_paint::paint_stroke_add_sample(), path_rng_1D(), path_rng_2D(), path_rng_3D(), path_rng_4D(), path_rng_pixel_init(), path_state_init_integrator(), path_state_rng_load(), blender::imbuf::transform::process_scanlines(), blender::compositor::PlaneTrackCommon::read_and_calculate_corners(), blender::io::alembic::read_custom_data_mcols(), blender::io::alembic::read_custom_data_uvs(), blender::io::alembic::read_generated_coordinates(), blender::io::alembic::AbcPointsReader::read_geometry(), blender::io::alembic::AbcMeshReader::read_mesh(), blender::io::alembic::read_mesh_sample(), blender::io::alembic::read_points_sample(), blender::io::alembic::read_subd_sample(), blender::io::alembic::AbcSubDReader::readObjectData(), PathTraceWorkCPU::render_samples_full_pipeline(), blender::eevee::Sampling::sample_ball(), sample_is_class_A(), blender::ed::sculpt_paint::sample_node_surface_bmesh(), blender::ed::sculpt_paint::sample_node_surface_grids(), blender::ed::sculpt_paint::sample_node_surface_mesh(), BCAnimationSampler::sample_scene(), blender::ed::sculpt_paint::sample_surface(), libmv::SampleLinear(), blender::io::alembic::samples_have_same_topology(), shadow_path_state_rng_load(), blender::imbuf::transform::store_premul_float_sample(), blender::imbuf::transform::store_premul_float_sample(), blender::imbuf::transform::store_sample(), blender::imbuf::transform::store_sample(), blender::ed::sculpt_paint::stroke_update_step(), tabulated_sobol_sample_1D(), tabulated_sobol_sample_2D(), tabulated_sobol_sample_3D(), tabulated_sobol_sample_4D(), tabulated_sobol_shuffled_sample_index(), TEST(), TEST(), blender::io::alembic::AbcMeshReader::topology_changed(), blender::compositor::PlaneDistortMaskOperation::update_memory_buffer_partial(), blender::compositor::PlaneDistortWarpImageOperation::update_memory_buffer_partial(), blender::io::alembic::write_generated_coordinates(), blender::io::alembic::write_mcol(), blender::io::alembic::write_uv(), and BCSampleFrame::~BCSampleFrame().
| const int state = tile->path_index_offset + tile_work_index |
Definition at line 95 of file kernel/device/gpu/kernel.h.
| ccl_global const KernelWorkTile * tile = &tiles[tile_index] |
Definition at line 89 of file kernel/device/gpu/kernel.h.
Referenced by blender::bke::pbvh::uv_islands::UVIslandsMask::add(), add_ibuf_for_tile(), ImageManager::add_image(), blender::bke::pbvh::uv_islands::add_uv_island(), bake_images(), blender::ed::object::bake_object_check(), blender::ed::object::bake_targets_init_image_textures(), BKE_image_add_generated(), BKE_image_add_tile(), BKE_image_fill_tile(), BKE_image_find_nearest_tile_with_offset(), BKE_image_get_float_pixels_for_frame(), BKE_image_get_pixels_for_frame(), BKE_image_get_tile(), BKE_image_get_tile_label(), BKE_image_memorypack(), BKE_image_packfiles(), blender::bke::image::partial_update::BKE_image_partial_update_collect_changes(), BKE_image_reassign_tile(), BKE_image_remove_tile(), BKE_image_save(), blo_do_versions_280(), blo_do_versions_300(), brush_painter_2d_refresh_cache(), brush_painter_2d_require_imbuf(), brush_painter_2d_tex_mapping(), brush_painter_imbuf_new(), brush_painter_imbuf_partial_update(), brush_painter_imbuf_update(), brush_painter_mask_imbuf_partial_update(), brush_painter_mask_imbuf_update(), check_seam(), blender::ed::object::clear_single_image(), blender::bke::pbvh::pixels::NodeData::collect_dirty_tiles(), blender::compositor::compute_motion_line(), blender::compositor::compute_motion_rect(), blender::bke::pbvh::pixels::copy_pixels(), blender::io::usd::copy_tiled_textures(), blender::bke::pbvh::pixels::copy_update(), ImageTextureNode::cull_tiles(), blender::bke::pbvh::uv_islands::UVIslandsMask::dilate(), blender::compositor::dilate_max_velocity(), blender::bke::pbvh::uv_islands::dilate_tile(), blender::bke::pbvh::pixels::do_encode_pixels(), do_fill_tile(), do_merge_tile(), do_multires_bake(), blender::ed::sculpt_paint::paint::image::do_paint_pixels(), blender::ed::sculpt_paint::paint::image::do_push_undo_tile(), BlenderDisplayDriver::draw(), draw_render_info(), ED_fileselect_layout_tilepos(), ED_space_image_acquire_buffer(), ED_space_image_color_sample(), blender::draw::overlay::MeshUVs::end_sync(), blender::bke::pbvh::uv_islands::UVIsland::extend_border(), blender::bke::pbvh::pixels::CopyPixelTiles::find_tile(), blender::bke::pbvh::uv_islands::UVIslandsMask::find_tile(), blender::bke::pbvh::pixels::NodeData::find_tile_data(), finish_images(), TileManager::finish_write_tiles(), blender::render::TilesHighlight::get_all_highlighted_tiles(), PathTrace::get_render_tile_offset(), PathTrace::get_render_tile_size(), TileManager::get_tile_for_index(), get_udim_tiles(), get_work_pixel(), nanovdb::RootNode< ChildT >::getChild(), nanovdb::ReadAccessor< BuildT >::getValue(), nanovdb::CachedReadAccessor< BuildT >::getValueAndCache(), gpu_texture_create_tile_array(), gpu_texture_create_tile_mapping(), gpu_texture_update_from_ibuf(), blender::render::TilesHighlight::highlight_tile(), blender::render::TilesHighlight::highlight_tile_for_result(), image_acquire_ibuf(), image_free_tile(), image_get_float_pixels_for_frame(), image_get_gpu_texture(), image_get_pixels_for_frame(), image_get_tile_number_from_iuser(), image_init(), image_init_after_load(), image_is_builtin(), image_quick_test(), image_remove_tile(), image_sample_apply(), image_sample_line_exec(), image_update_gputexture_ex(), image_view_all(), imagetile_alloc(), integrator_init_from_bake(), integrator_init_from_camera(), blender::compositor::is_inside_motion_line(), blender::bke::pbvh::uv_islands::UVIslandsMask::is_masked(), blender::bke::pbvh::pixels::mark_image_dirty(), blender::bke::pbvh::pixels::NodeData::mark_region(), blender::ed::object::multiresbake_check(), OVERLAY_edit_uv_cache_init(), paint_2d_do_making_brush(), paint_2d_lift_soften(), paint_2d_new_stroke(), paint_2d_op(), paint_2d_stroke(), paint_2d_uv_to_coord(), path_state_init(), project_bucket_init(), project_paint_prepare_all_faces(), BlenderOutputDriver::read_render_tile(), blender::bke::pbvh::pixels::NodeData::rebuild_undo_regions(), Session::run_update_for_next_iteration(), blender::eevee::shadow_sampling_tile_create(), blender::eevee::shadow_sampling_tile_pack(), blender::eevee::shadow_sampling_tile_unpack(), blender::eevee::shadow_tile_pack(), blender::eevee::shadow_tile_unpack(), svm_node_tex_image(), blender::draw::test_eevee_shadow_finalize(), blender::draw::test_eevee_shadow_free(), blender::draw::test_eevee_shadow_page_mask_ex(), blender::draw::test_eevee_shadow_shift(), blender::draw::test_eevee_shadow_shift_clear(), blender::draw::test_eevee_shadow_tilemap_amend(), blender::draw::TestAlloc::TestAlloc(), blender::draw::TestDefrag::TestDefrag(), OSLRenderServices::texture(), tile_add_exec(), tile_add_invoke(), PathTrace::tile_buffer_read(), PathTrace::tile_buffer_write(), tile_fill_exec(), tile_fill_init(), tile_remove_exec(), blender::render::TilesHighlight::unhighlight_tile(), blender::render::TilesHighlight::unhighlight_tile_for_result(), PathTrace::update_display(), BlenderOutputDriver::update_render_tile(), update_tile_texture_pixels(), uv_coords_isect_udim(), BlenderOutputDriver::write_render_tile(), and OIIOOutputDriver::write_render_tile().
| const int tile_index = work_index / max_tile_work_size |
Definition at line 86 of file kernel/device/gpu/kernel.h.
Referenced by BKE_image_get_tile_uv(), TileManager::finish_write_tiles(), WorkTileScheduler::get_work(), ImageHandle::image_memory(), image_undosys_step_encode(), project_paint_undo_subtiles(), project_paint_uvpixel_init(), ImageHandle::svm_slot(), blender::draw::TestDefrag::TestDefrag(), uv_coords_isect_udim(), and ImageHandle::vdb_loader().
| const int tile_work_index = work_index - tile_index * max_tile_work_size |
Definition at line 87 of file kernel/device/gpu/kernel.h.
Definition at line 75 of file kernel/device/gpu/kernel.h.
Referenced by ImageManager::add_image(), add_node(), BKE_image_get_tile_info(), blender::bke::image::partial_update::Changeset::clear(), Freestyle::Strip::computeTexCoordWithTips(), ImageTextureNode::cull_tiles(), draw_render_info(), blender::draw::overlay::MeshUVs::end_sync(), get_udim_tiles(), Attribute::get_uv_tiles(), Hair::get_uv_tiles(), Mesh::get_uv_tiles(), PointCloud::get_uv_tiles(), blender::bke::image::partial_update::Changeset::has_tile(), NODE_DEFINE(), and blender::bke::image::partial_update::Changeset::operator[]().
| ccl_gpu_kernel_postfix ccl_global const int const int work_size |
Definition at line 149 of file kernel/device/gpu/kernel.h.
Referenced by PathTraceWorkGPU::adaptive_sampling_convergence_check_count_active(), PathTraceWorkGPU::compact_paths(), PathTraceWorkGPU::compute_queued_paths(), PathTraceWorkGPU::compute_sorted_queued_paths(), PathTraceWorkGPU::cryptomatte_postproces(), DeviceQueue::debug_enqueue_begin(), DenoiserGPU::denoise_filter_color_postprocess(), DenoiserGPU::denoise_filter_color_preprocess(), DenoiserGPU::denoise_filter_guiding_preprocess(), DenoiserGPU::denoise_filter_guiding_set_fake_albedo(), PathTraceWorkGPU::enqueue_adaptive_sampling_filter_x(), PathTraceWorkGPU::enqueue_adaptive_sampling_filter_y(), PathTraceWorkGPU::enqueue_path_iteration(), ShaderEval::eval_cpu(), ShaderEval::eval_gpu(), PassAccessorGPU::run_film_convert_kernels(), and PathTraceWorkGPU::shadow_catcher_count_possible_splits().
| uint x |
Definition at line 97 of file kernel/device/gpu/kernel.h.
| uint y |
Definition at line 97 of file kernel/device/gpu/kernel.h.