Blender V4.3
draw_manager_c.cc File Reference
#include <cstdio>
#include "CLG_log.h"
#include "BLI_alloca.h"
#include "BLI_listbase.h"
#include "BLI_memblock.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_task.h"
#include "BLI_threads.h"
#include "BLF_api.hh"
#include "BLT_translation.hh"
#include "BKE_context.hh"
#include "BKE_curve.hh"
#include "BKE_curves.h"
#include "BKE_duplilist.hh"
#include "BKE_editmesh.hh"
#include "BKE_global.hh"
#include "BKE_gpencil_legacy.h"
#include "BKE_grease_pencil.h"
#include "BKE_lattice.hh"
#include "BKE_main.hh"
#include "BKE_mball.hh"
#include "BKE_mesh.hh"
#include "BKE_modifier.hh"
#include "BKE_object.hh"
#include "BKE_object_types.hh"
#include "BKE_paint.hh"
#include "BKE_particle.h"
#include "BKE_pointcache.h"
#include "BKE_pointcloud.hh"
#include "BKE_screen.hh"
#include "BKE_subdiv_modifier.hh"
#include "BKE_viewer_path.hh"
#include "BKE_volume.hh"
#include "DNA_camera_types.h"
#include "DNA_mesh_types.h"
#include "DNA_userdef_types.h"
#include "DNA_view3d_types.h"
#include "DNA_world_types.h"
#include "ED_gpencil_legacy.hh"
#include "ED_screen.hh"
#include "ED_space_api.hh"
#include "ED_view3d.hh"
#include "GPU_capabilities.hh"
#include "GPU_framebuffer.hh"
#include "GPU_immediate.hh"
#include "GPU_matrix.hh"
#include "GPU_platform.hh"
#include "GPU_shader_shared.hh"
#include "GPU_state.hh"
#include "GPU_uniform_buffer.hh"
#include "GPU_viewport.hh"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "UI_resources.hh"
#include "UI_view2d.hh"
#include "WM_api.hh"
#include "wm_window.hh"
#include "draw_color_management.hh"
#include "draw_manager_c.hh"
#include "draw_manager_profiling.hh"
#include "draw_manager_testing.hh"
#include "draw_manager_text.hh"
#include "draw_shader.hh"
#include "draw_subdivision.hh"
#include "draw_texture_pool.hh"
#include "draw_cache_impl.hh"
#include "engines/basic/basic_engine.h"
#include "engines/compositor/compositor_engine.h"
#include "engines/eevee_next/eevee_engine.h"
#include "engines/external/external_engine.h"
#include "engines/gpencil/gpencil_engine.h"
#include "engines/image/image_engine.h"
#include "engines/overlay/overlay_engine.h"
#include "engines/select/select_engine.hh"
#include "engines/workbench/workbench_engine.h"
#include "GPU_context.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_query.hh"
#include "DRW_select_buffer.hh"

Go to the source code of this file.

Classes

struct  IdDdtTemplate
 
struct  DRWSelectBuffer
 

Functions

static void drw_state_prepare_clean_for_draw (DRWManager *dst)
 
static void drw_state_ensure_not_reused (DRWManager *dst)
 
static bool drw_draw_show_annotation ()
 
Threading
static void drw_task_graph_init ()
 
static void drw_task_graph_deinit ()
 
Settings
bool DRW_object_is_renderable (const Object *ob)
 
bool DRW_object_is_in_edit_mode (const Object *ob)
 
int DRW_object_visibility_in_active_context (const Object *ob)
 
bool DRW_object_use_hide_faces (const Object *ob)
 
bool DRW_object_is_visible_psys_in_active_context (const Object *object, const ParticleSystem *psys)
 
ObjectDRW_object_get_dupli_parent (const Object *)
 
DupliObjectDRW_object_get_dupli (const Object *)
 
Viewport (DRW_viewport)
void DRW_render_viewport_size_set (const int size[2])
 
const floatDRW_viewport_size_get ()
 
const floatDRW_viewport_invert_size_get ()
 
const floatDRW_viewport_pixelsize_get ()
 
static void drw_context_state_init ()
 
static void draw_unit_state_create ()
 
DRWDataDRW_viewport_data_create ()
 
static void draw_texture_release (DRWData *drw_data)
 
static void draw_prune_vlattrs (DRWData *drw_data)
 
static void drw_viewport_data_reset (DRWData *drw_data)
 
void DRW_viewport_data_free (DRWData *drw_data)
 
static DRWDatadrw_viewport_data_ensure (GPUViewport *viewport)
 
static void drw_manager_init (DRWManager *dst, GPUViewport *viewport, const int size[2])
 
static void drw_manager_exit (DRWManager *dst)
 
DefaultFramebufferListDRW_viewport_framebuffer_list_get ()
 
DefaultTextureListDRW_viewport_texture_list_get ()
 
blender::draw::TextureFromPoolDRW_viewport_pass_texture_get (const char *pass_name)
 
void DRW_viewport_request_redraw ()
 
Duplis
static uint dupli_key_hash (const void *key)
 
static bool dupli_key_cmp (const void *key1, const void *key2)
 
static void drw_duplidata_load (Object *ob)
 
static void duplidata_value_free (void *val)
 
static void duplidata_key_free (void *key)
 
static void drw_duplidata_free ()
 
void ** DRW_duplidata_get (void *vedata)
 
ViewLayers (DRW_scenelayer)
void * DRW_view_layer_engine_data_get (DrawEngineType *engine_type)
 
void ** DRW_view_layer_engine_data_ensure_ex (ViewLayer *view_layer, DrawEngineType *engine_type, void(*callback)(void *storage))
 
void ** DRW_view_layer_engine_data_ensure (DrawEngineType *engine_type, void(*callback)(void *storage))
 
Draw Data (DRW_drawdata)
static bool id_type_can_have_drawdata (const short id_type)
 
static bool id_can_have_drawdata (const ID *id)
 
DrawDataListDRW_drawdatalist_from_id (ID *id)
 
DrawDataDRW_drawdata_get (ID *id, DrawEngineType *engine_type)
 
DrawDataDRW_drawdata_ensure (ID *id, DrawEngineType *engine_type, size_t size, DrawDataInitCb init_cb, DrawDataFreeCb free_cb)
 
void DRW_drawdata_free (ID *id)
 
static void drw_drawdata_unlink_dupli (ID *id)
 
Garbage Collection
void DRW_cache_free_old_batches (Main *bmain)
 
Rendering (DRW_engines)
static void drw_engines_init ()
 
static void drw_engines_cache_init ()
 
static void drw_engines_world_update (Scene *scene)
 
static void drw_engines_cache_populate (Object *ob)
 
static void drw_engines_cache_finish ()
 
static void drw_engines_draw_scene ()
 
static void drw_engines_draw_text ()
 
void DRW_draw_region_engine_info (int xoffset, int *yoffset, int line_height)
 
static void use_drw_engine (DrawEngineType *engine)
 
static void drw_engines_enable_from_engine (const RenderEngineType *engine_type, eDrawType drawtype)
 
static void drw_engines_enable_overlays ()
 
static void drw_engines_enable_basic ()
 
static void drw_engine_enable_image_editor ()
 
static void drw_engines_enable_editors ()
 
bool DRW_is_viewport_compositor_enabled ()
 
static void drw_engines_enable (ViewLayer *, RenderEngineType *engine_type, bool gpencil_engine_needed)
 
static void drw_engines_disable ()
 
static void drw_engines_data_validate ()
 
static bool drw_gpencil_engine_needed (Depsgraph *depsgraph, View3D *v3d)
 
View Update
void DRW_notify_view_update (const DRWUpdateContext *update_ctx)
 
static void drw_notify_view_update_offscreen (Depsgraph *depsgraph, RenderEngineType *engine_type, ARegion *region, View3D *v3d, GPUViewport *viewport)
 
Callbacks
void DRW_draw_callbacks_pre_scene ()
 
void DRW_draw_callbacks_post_scene ()
 
DRWTextStoreDRW_text_cache_ensure ()
 
Draw Manager State (DRW_state)
bool DRW_state_is_fbo ()
 
bool DRW_state_is_select ()
 
bool DRW_state_is_material_select ()
 
bool DRW_state_is_depth ()
 
bool DRW_state_is_image_render ()
 
bool DRW_state_is_scene_render ()
 
bool DRW_state_is_viewport_image_render ()
 
bool DRW_state_is_playback ()
 
bool DRW_state_is_navigating ()
 
bool DRW_state_is_painting ()
 
bool DRW_state_show_text ()
 
bool DRW_state_draw_support ()
 
bool DRW_state_draw_background ()
 
Context State (DRW_context_state)
const DRWContextStateDRW_context_state_get ()
 
Init/Exit (DRW_engines)
bool DRW_engine_render_support (DrawEngineType *draw_engine_type)
 
void DRW_engine_register (DrawEngineType *draw_engine_type)
 
void DRW_engines_register ()
 
static void drw_registered_engines_free ()
 
void DRW_engines_free ()
 
void DRW_render_context_enable (Render *render)
 
void DRW_render_context_disable (Render *render)
 
Init/Exit (DRW_gpu_ctx)
void DRW_gpu_context_create ()
 
void DRW_gpu_context_destroy ()
 
void DRW_gpu_context_enable_ex (bool)
 
void DRW_gpu_context_disable_ex (bool restore)
 
void DRW_gpu_context_enable ()
 
void DRW_gpu_context_disable ()
 
void DRW_system_gpu_render_context_enable (void *re_system_gpu_context)
 
void DRW_system_gpu_render_context_disable (void *re_system_gpu_context)
 
void DRW_blender_gpu_render_context_enable (void *re_gpu_context)
 
void DRW_blender_gpu_render_context_disable (void *)
 
Draw manager context release/activation

These functions are used in cases when an GPU context creation is needed during the draw. This happens, for example, when an external engine needs to create its own GPU context from the engine initialization.

Example of context creation:

const bool drw_state = DRW_gpu_context_release(); system_gpu_context = WM_system_gpu_context_create(); DRW_gpu_context_activate(drw_state);

Example of context destruction:

const bool drw_state = DRW_gpu_context_release(); WM_system_gpu_context_activate(system_gpu_context); WM_system_gpu_context_dispose(system_gpu_context); DRW_gpu_context_activate(drw_state);

NOTE: Will only perform context modification when on main thread. This way these functions can be used in an engine without check on whether it is a draw manager which manages GPU context on the current thread. The downside of this is that if the engine performs GPU creation from a non-main thread, that thread is supposed to not have GPU context ever bound by Blender.

bool DRW_gpu_context_release ()
 
void DRW_gpu_context_activate (bool drw_state)
 

Variables

static CLG_LogRef LOG = {"draw.manager"}
 
DRWManager DST = {nullptr}
 
struct { 
 
   ListBase   engines 
 
   int   len 
 
g_registered_engines = {{nullptr}} 
 

Main Draw Loops (DRW_draw)

static struct DRWSelectBuffer g_select_buffer = {nullptr}
 
void DRW_draw_view (const bContext *C)
 
void DRW_draw_render_loop_ex (Depsgraph *depsgraph, RenderEngineType *engine_type, ARegion *region, View3D *v3d, GPUViewport *viewport, const bContext *evil_C)
 
void DRW_draw_render_loop (Depsgraph *depsgraph, ARegion *region, View3D *v3d, GPUViewport *viewport)
 
void DRW_draw_render_loop_offscreen (Depsgraph *depsgraph, RenderEngineType *engine_type, ARegion *region, View3D *v3d, const bool is_image_render, const bool draw_background, const bool do_color_management, GPUOffScreen *ofs, GPUViewport *viewport)
 
bool DRW_render_check_grease_pencil (Depsgraph *depsgraph)
 
static void DRW_render_gpencil_to_image (RenderEngine *engine, RenderLayer *render_layer, const rcti *rect)
 
void DRW_render_gpencil (RenderEngine *engine, Depsgraph *depsgraph)
 
void DRW_render_to_image (RenderEngine *engine, Depsgraph *depsgraph)
 
void DRW_render_object_iter (void *vedata, RenderEngine *engine, Depsgraph *depsgraph, void(*callback)(void *vedata, Object *ob, RenderEngine *engine, Depsgraph *depsgraph))
 
void DRW_custom_pipeline_begin (DrawEngineType *draw_engine_type, Depsgraph *depsgraph)
 
void DRW_custom_pipeline_end ()
 
void DRW_custom_pipeline (DrawEngineType *draw_engine_type, Depsgraph *depsgraph, void(*callback)(void *vedata, void *user_data), void *user_data)
 
void DRW_cache_restart ()
 
void DRW_draw_render_loop_2d_ex (Depsgraph *depsgraph, ARegion *region, GPUViewport *viewport, const bContext *evil_C)
 
static void draw_select_framebuffer_depth_only_setup (const int size[2])
 
void DRW_render_instance_buffer_finish ()
 
void DRW_render_set_time (RenderEngine *engine, Depsgraph *depsgraph, int frame, float subframe)
 
void DRW_draw_select_loop (Depsgraph *depsgraph, ARegion *region, View3D *v3d, bool use_obedit_skip, bool draw_surface, bool, const bool do_material_sub_selection, const rcti *rect, DRW_SelectPassFn select_pass_fn, void *select_pass_user_data, DRW_ObjectFilterFn object_filter_fn, void *object_filter_user_data)
 
void DRW_draw_depth_loop (Depsgraph *depsgraph, ARegion *region, View3D *v3d, GPUViewport *viewport, const bool use_gpencil, const bool use_basic, const bool use_overlay, const bool use_only_selected)
 
void DRW_draw_select_id (Depsgraph *depsgraph, ARegion *region, View3D *v3d)
 
void DRW_draw_depth_object (Scene *scene, ARegion *region, View3D *v3d, GPUViewport *viewport, Object *object)
 
bool DRW_draw_in_progress ()
 

Function Documentation

◆ draw_prune_vlattrs()

◆ draw_select_framebuffer_depth_only_setup()

◆ draw_texture_release()

static void draw_texture_release ( DRWData * drw_data)
static

◆ draw_unit_state_create()

◆ DRW_blender_gpu_render_context_disable()

void DRW_blender_gpu_render_context_disable ( void * re_gpu_context)

Definition at line 3349 of file draw_manager_c.cc.

References GPU_context_active_set(), and GPU_flush().

Referenced by DRW_render_context_disable().

◆ DRW_blender_gpu_render_context_enable()

void DRW_blender_gpu_render_context_enable ( void * re_gpu_context)

Definition at line 3341 of file draw_manager_c.cc.

References BLI_assert, BLI_thread_is_main(), and GPU_context_active_set().

Referenced by DRW_render_context_enable().

◆ DRW_cache_free_old_batches()

◆ DRW_cache_restart()

void DRW_cache_restart ( )

Used when the render engine want to redo another cache populate inside the same render frame.

Definition at line 2184 of file draw_manager_c.cc.

References DRWManager::buffer_finish_called, drw_manager_init(), DRW_smoke_exit(), DRW_smoke_init(), DRW_volume_init(), DST, DRWManager::viewport, and DRWManager::vmempool.

Referenced by blender::eevee::Instance::render_sync(), and workbench_render_to_image().

◆ DRW_context_state_get()

const DRWContextState * DRW_context_state_get ( )

Definition at line 3046 of file draw_manager_c.cc.

References DRWManager::draw_ctx, and DST.

Referenced by basic_cache_init(), basic_cache_populate(), camera_view3d_reconstruction(), compositor_engine_update(), blender::eevee::ShadowModule::debug_end_sync(), blender::draw::overlay::Armatures::draw_armature_pose(), drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), blender::draw::DRW_curves_pos_buffer_get(), DRW_draw_cursor(), DRW_draw_cursor_2d(), DRW_draw_gizmo_2d(), DRW_draw_gizmo_3d(), DRW_draw_region_info(), DRW_engine_external_acquire_for_image_editor(), DRW_globals_update(), DRW_hair_pos_buffer_get(), DRW_object_is_visible_psys_in_active_context(), DRW_object_wire_theme_get(), blender::draw::drw_particle_get_hair_source(), blender::draw::drw_particle_update_ptcache(), blender::draw::drw_particle_update_ptcache_edit(), DRW_render_object_iter(), drw_sculpt_generate_calls(), blender::draw::DRW_shgroup_curves_create_sub(), DRW_shgroup_hair_create_sub(), blender::draw::DRW_volume_batch_cache_get_wireframes_face(), eevee_engine_init(), eevee_render_to_image(), external_cache_init(), external_cache_populate(), external_draw_scene(), external_draw_scene_do(), external_draw_scene_do_image(), external_draw_scene_do_v3d(), external_engine_init(), external_image_space_matrix_set(), blender::draw::compositor::Context::get_compositing_region(), blender::draw::compositor::Context::get_input_texture(), blender::draw::compositor::Context::get_node_tree(), blender::draw::compositor::Context::get_render_data(), blender::draw::compositor::Context::get_scene(), blender::draw::compositor::Context::get_view_name(), GPENCIL_cache_init(), GPENCIL_engine_init(), GPENCIL_render_result_z(), GPENCIL_render_to_image(), blender::draw::image_engine::IMAGE_cache_init(), blender::draw::image_engine::IMAGE_draw_scene(), blender::draw::image_engine::ImageEngine< DrawingMode >::image_sync(), blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::image_sync(), blender::draw::overlay::Instance::init(), blender::workbench::DofPass::init(), blender::workbench::SceneState::init(), is_selection_visible(), motion_path_cache(), blender::eevee::Instance::object_sync(), blender::workbench::ObjectState::ObjectState(), OVERLAY_armature_cache_init(), OVERLAY_armature_cache_populate(), OVERLAY_background_cache_init(), OVERLAY_cache_populate(), OVERLAY_camera_cache_populate(), OVERLAY_draw_scene(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_curves_init(), OVERLAY_edit_gpencil_legacy_cache_init(), OVERLAY_edit_grease_pencil_cache_init(), OVERLAY_edit_grease_pencil_cache_populate(), OVERLAY_edit_mesh_cache_init(), OVERLAY_edit_mesh_cache_populate(), OVERLAY_edit_mesh_init(), OVERLAY_edit_particle_cache_init(), OVERLAY_edit_particle_cache_populate(), OVERLAY_edit_text_cache_init(), OVERLAY_edit_uv_cache_init(), overlay_edit_uv_cache_populate(), OVERLAY_edit_uv_init(), OVERLAY_empty_cache_populate(), OVERLAY_engine_init(), OVERLAY_extra_cache_populate(), OVERLAY_facing_cache_init(), OVERLAY_facing_cache_populate(), OVERLAY_fade_cache_init(), OVERLAY_fade_cache_populate(), OVERLAY_gpencil_legacy_cache_init(), OVERLAY_grease_pencil_cache_init(), overlay_grease_pencil_draw_stroke_color_name(), OVERLAY_grease_pencil_material_names(), OVERLAY_grid_init(), OVERLAY_image_camera_cache_populate(), OVERLAY_image_empty_cache_populate(), OVERLAY_image_init(), OVERLAY_lattice_cache_populate(), OVERLAY_light_cache_populate(), OVERLAY_lightprobe_cache_populate(), OVERLAY_metaball_cache_populate(), OVERLAY_mode_transfer_cache_populate(), OVERLAY_motion_path_cache_populate(), OVERLAY_next_engine_init(), OVERLAY_outline_cache_populate(), OVERLAY_paint_cache_init(), OVERLAY_paint_init(), OVERLAY_particle_cache_init(), OVERLAY_sculpt_cache_populate(), OVERLAY_sculpt_grease_pencil_cache_populate(), OVERLAY_shader_armature_degrees_of_freedom_solid(), OVERLAY_shader_armature_degrees_of_freedom_wire(), OVERLAY_shader_armature_envelope(), OVERLAY_shader_armature_shape(), OVERLAY_shader_armature_shape_wire(), OVERLAY_shader_armature_sphere(), OVERLAY_shader_armature_stick(), OVERLAY_shader_armature_wire(), OVERLAY_shader_depth_only(), OVERLAY_shader_edit_curve_handle(), OVERLAY_shader_edit_curve_point(), OVERLAY_shader_edit_curve_wire(), OVERLAY_shader_edit_curves_handle(), OVERLAY_shader_edit_gpencil_guide_point(), OVERLAY_shader_edit_gpencil_point(), OVERLAY_shader_edit_gpencil_wire(), OVERLAY_shader_edit_lattice_point(), OVERLAY_shader_edit_lattice_wire(), OVERLAY_shader_edit_mesh_analysis(), OVERLAY_shader_edit_mesh_depth(), OVERLAY_shader_edit_mesh_edge(), OVERLAY_shader_edit_mesh_face(), OVERLAY_shader_edit_mesh_facedot(), OVERLAY_shader_edit_mesh_normal(), OVERLAY_shader_edit_mesh_skin_root(), OVERLAY_shader_edit_mesh_vert(), OVERLAY_shader_edit_particle_point(), OVERLAY_shader_edit_particle_strand(), OVERLAY_shader_extra(), OVERLAY_shader_extra_grid(), OVERLAY_shader_extra_groundline(), OVERLAY_shader_extra_loose_point(), OVERLAY_shader_extra_point(), OVERLAY_shader_extra_wire(), OVERLAY_shader_facing(), OVERLAY_shader_gpencil_canvas(), OVERLAY_shader_image(), OVERLAY_shader_motion_path_line(), OVERLAY_shader_motion_path_vert(), OVERLAY_shader_outline_prepass(), OVERLAY_shader_outline_prepass_curves(), OVERLAY_shader_outline_prepass_gpencil(), OVERLAY_shader_outline_prepass_pointcloud(), OVERLAY_shader_paint_face(), OVERLAY_shader_paint_point(), OVERLAY_shader_paint_texture(), OVERLAY_shader_paint_vertcol(), OVERLAY_shader_paint_weight(), OVERLAY_shader_paint_wire(), OVERLAY_shader_particle_dot(), OVERLAY_shader_particle_shape(), OVERLAY_shader_sculpt_curves_cage(), OVERLAY_shader_sculpt_curves_selection(), OVERLAY_shader_sculpt_mask(), OVERLAY_shader_uniform_color(), OVERLAY_shader_uniform_color_pointcloud(), OVERLAY_shader_viewer_attribute_curve(), OVERLAY_shader_viewer_attribute_curves(), OVERLAY_shader_viewer_attribute_mesh(), OVERLAY_shader_viewer_attribute_pointcloud(), OVERLAY_shader_wireframe(), OVERLAY_shader_wireframe_select(), OVERLAY_speaker_cache_populate(), OVERLAY_vertex_grease_pencil_cache_populate(), OVERLAY_weight_grease_pencil_cache_populate(), OVERLAY_wireframe_cache_init(), OVERLAY_wireframe_cache_populate(), OVERLAY_wireframe_init(), blender::draw::particle_batch_cache_ensure_pos(), POSE_is_driven_by_active_armature(), blender::draw::sculpt_batches_get_ex(), select_cache_init(), select_cache_populate(), select_engine_init(), SELECT_next_engine_init(), blender::draw::color_management::viewport_color_management_set(), and workbench_render_to_image().

◆ drw_context_state_init()

◆ DRW_custom_pipeline()

void DRW_custom_pipeline ( DrawEngineType * draw_engine_type,
Depsgraph * depsgraph,
void(* callback )(void *vedata, void *user_data),
void * user_data )

Assume a valid GL context is bound (and that the gl_context_mutex has been acquired). This function only setup DST and execute the given function.

Warning
similar to DRW_render_to_image you cannot use default lists (dfbl & dtxl).

Definition at line 2169 of file draw_manager_c.cc.

References callback, depsgraph, DRW_custom_pipeline_begin(), DRW_custom_pipeline_end(), DRW_view_data_engine_data_get_ensure(), DST, and DRWManager::view_data_active.

◆ DRW_custom_pipeline_begin()

◆ DRW_custom_pipeline_end()

◆ DRW_draw_callbacks_post_scene()

◆ DRW_draw_callbacks_pre_scene()

◆ DRW_draw_depth_loop()

void DRW_draw_depth_loop ( Depsgraph * depsgraph,
ARegion * region,
View3D * v3d,
GPUViewport * viewport,
const bool use_gpencil,
const bool use_basic,
const bool use_overlay,
const bool use_only_selected )

Object mode select-loop.

Definition at line 2649 of file draw_manager_c.cc.

References BASE_SELECTED, BKE_object_is_visible_in_viewport(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, draw_engine_gpencil_type, drw_context_state_init(), drw_duplidata_free(), drw_duplidata_load(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_enable_basic(), drw_engines_enable_overlays(), drw_engines_init(), drw_engines_world_update(), DRW_globals_update(), drw_manager_exit(), drw_manager_init(), DRW_render_instance_buffer_finish(), DRW_smoke_exit(), DRW_smoke_init(), drw_state_prepare_clean_for_draw(), DRW_state_reset(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_volume_init(), DST, DRWManager::dupli_origin, DRWManager::dupli_origin_data, DRWManager::dupli_parent, DRWManager::dupli_source, ED_view3d_engine_type(), DRWContextState::engine_type, View3D::flag2, DEGObjectIterSettings::flags, GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_framebuffer_bind(), GPU_framebuffer_clear_depth(), GPU_framebuffer_ensure_config, GPU_framebuffer_free(), GPU_framebuffer_restore(), GPU_viewport_depth_texture(), DRWManager::is_depth, DRWContextState::obact, View3D::object_type_exclude_viewport, DRWManager::options, DRWContextState::region, DRWContextState::rv3d, DRWContextState::scene, scene, View3D::shading, View3DShading::type, use_drw_engine(), DRWContextState::v3d, V3D_SHOW_VIEWER, DRWContextState::view_layer, DEGObjectIterSettings::viewer_path, View3D::viewer_path, and DRWManager::vmempool.

Referenced by ED_view3d_depth_override().

◆ DRW_draw_depth_object()

◆ DRW_draw_in_progress()

bool DRW_draw_in_progress ( )

Query that drawing is in progress (use to prevent nested draw calls).

Definition at line 2953 of file draw_manager_c.cc.

References DST, and DRWManager::in_progress.

Referenced by ED_view3d_draw_offscreen_check_nested().

◆ DRW_draw_region_engine_info()

void DRW_draw_region_engine_info ( int xoffset,
int * yoffset,
int line_height )

Draw render engine info.

Definition at line 1153 of file draw_manager_c.cc.

References BLF_draw_default(), BLI_strchr_or_end(), DRW_ENABLED_ENGINE_ITER, DST, IFACE_, and DRWManager::view_data_active.

Referenced by view3d_draw_region_info().

◆ DRW_draw_render_loop()

void DRW_draw_render_loop ( Depsgraph * depsgraph,
ARegion * region,
View3D * v3d,
GPUViewport * viewport )

◆ DRW_draw_render_loop_2d_ex()

void DRW_draw_render_loop_2d_ex ( Depsgraph * depsgraph,
ARegion * region,
GPUViewport * viewport,
const bContext * evil_C )

Definition at line 2199 of file draw_manager_c.cc.

References BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, CTX_wm_space_data(), DRWManager::default_framebuffer, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, drw_context_state_init(), drw_debug_init(), DRW_draw_cursor_2d(), DRW_draw_gizmo_2d(), drw_draw_show_annotation(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_data_validate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_draw_text(), drw_engines_enable_editors(), drw_engines_init(), DRW_globals_update(), drw_manager_exit(), drw_manager_init(), DRW_render_instance_buffer_finish(), DRW_state_reset(), DRW_stats_begin(), DRW_stats_draw(), DRW_stats_reset(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_view_data_cache_time_get(), DRW_viewport_colormanagement_set(), DRW_viewport_framebuffer_list_get(), DST, ED_annotation_draw_view2d(), ED_region_draw_cb_draw(), ED_region_pixelspace(), ED_region_visible_rect(), DRWContextState::evil_C, DEGObjectIterSettings::flags, G, GPU_BACKEND_OPENGL, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_DEVICE_ANY, GPU_DRIVER_ANY, GPU_flush(), GPU_framebuffer_active_get(), GPU_framebuffer_back_get(), GPU_framebuffer_bind(), GPU_framebuffer_clear_depth_stencil(), GPU_framebuffer_restore(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), GPU_OS_ANY, GPU_type_matches_ex(), DRWContextState::obact, DefaultFramebufferList::overlay_fb, PROFILE_END_UPDATE, PROFILE_START, DRWContextState::region, REGION_DRAW_POST_VIEW, REGION_DRAW_PRE_VIEW, DRWContextState::scene, scene, DRWContextState::space_data, SPACE_IMAGE, SpaceLink::spacetype, DRWManager::view_data_active, DRWContextState::view_layer, WM_draw_region_get_bound_viewport(), and wmOrtho2().

Referenced by DRW_draw_view().

◆ DRW_draw_render_loop_ex()

void DRW_draw_render_loop_ex ( Depsgraph * depsgraph,
RenderEngineType * engine_type,
ARegion * region,
View3D * v3d,
GPUViewport * viewport,
const bContext * evil_C )

Used for both regular and off-screen drawing. Need to reset DST before calling this function

Definition at line 1657 of file draw_manager_c.cc.

References BKE_object_is_visible_in_viewport(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, DRWManager::default_framebuffer, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, drw_context_state_init(), drw_debug_init(), DRW_draw_callbacks_post_scene(), DRW_draw_callbacks_pre_scene(), drw_duplidata_free(), drw_duplidata_load(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_data_validate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_enable(), drw_engines_init(), drw_engines_world_update(), DRW_globals_update(), drw_gpencil_engine_needed(), drw_manager_exit(), drw_manager_init(), DRW_render_instance_buffer_finish(), DRW_smoke_exit(), DRW_smoke_init(), DRW_state_reset(), DRW_stats_begin(), DRW_stats_reset(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_view_data_cache_time_get(), DRW_viewport_colormanagement_set(), DRW_volume_init(), DST, DRWManager::dupli_origin, DRWManager::dupli_origin_data, DRWManager::dupli_parent, DRWManager::dupli_source, DRWContextState::engine_type, DRWContextState::evil_C, RenderEngineType::flag, View3D::flag2, DEGObjectIterSettings::flags, GPU_BACKEND_OPENGL, GPU_DEVICE_ANY, GPU_DRIVER_ANY, GPU_flush(), GPU_framebuffer_active_get(), GPU_framebuffer_back_get(), GPU_framebuffer_bind(), GPU_framebuffer_clear_depth_stencil(), GPU_framebuffer_restore(), GPU_OS_ANY, GPU_type_matches_ex(), OB_RENDER, DRWContextState::obact, View3D::object_type_exclude_viewport, PROFILE_END_UPDATE, PROFILE_START, RE_INTERNAL, DRWContextState::region, DRWContextState::rv3d, DRWContextState::scene, scene, View3D::shading, View3DShading::type, DRWContextState::v3d, V3D_HIDE_OVERLAYS, V3D_SHOW_VIEWER, DRWManager::view_data_active, DRWContextState::view_layer, DEGObjectIterSettings::viewer_path, View3D::viewer_path, DRWManager::vmempool, and WM_draw_region_get_bound_viewport().

Referenced by DRW_draw_render_loop(), DRW_draw_render_loop_offscreen(), and DRW_draw_view().

◆ DRW_draw_render_loop_offscreen()

◆ DRW_draw_select_id()

◆ DRW_draw_select_loop()

void DRW_draw_select_loop ( Depsgraph * depsgraph,
ARegion * region,
View3D * v3d,
bool use_obedit_skip,
bool draw_surface,
bool use_nearest,
bool do_material_sub_selection,
const rcti * rect,
DRW_SelectPassFn select_pass_fn,
void * select_pass_user_data,
DRW_ObjectFilterFn object_filter_fn,
void * object_filter_user_data )

Object mode select-loop.

Definition at line 2401 of file draw_manager_c.cc.

References BASE_ENABLED_AND_VISIBLE_IN_DEFAULT_VIEWPORT, BASE_FROM_DUPLI, BASE_SELECTABLE, BKE_modifiers_is_deformed_by_armature(), BKE_object_is_visible_in_viewport(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, BLI_rcti_size_x(), BLI_rcti_size_y(), DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, DRWContextState::depsgraph, DefaultTextureList::depth, DRWManager::draw_ctx, draw_engine_gpencil_type, draw_engine_select_next_type, draw_select_framebuffer_depth_only_setup(), drw_context_state_init(), DRW_draw_callbacks_pre_scene(), drw_duplidata_free(), drw_duplidata_load(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_data_validate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_enable_basic(), drw_engines_enable_overlays(), drw_engines_init(), drw_engines_world_update(), DRW_globals_update(), drw_gpencil_engine_needed(), drw_manager_exit(), drw_manager_init(), DRW_render_instance_buffer_finish(), DRW_select_load_id(), DRW_SELECT_PASS_POST, DRW_SELECT_PASS_PRE, DRW_smoke_exit(), DRW_smoke_init(), DRW_STATE_DEPTH_TEST_ENABLED, DRW_state_lock(), drw_state_prepare_clean_for_draw(), DRW_state_reset(), DRW_STATE_WRITE_DEPTH, drw_task_graph_deinit(), drw_task_graph_init(), DRW_viewport_texture_list_get(), DRW_volume_init(), DST, DRWManager::dupli_origin, DRWManager::dupli_origin_data, DRWManager::dupli_parent, DRWManager::dupli_source, ED_view3d_engine_type(), DRWContextState::engine_type, View3DOverlay::flag, View3D::flag2, DEGObjectIterSettings::flags, FOREACH_OBJECT_IN_MODE_BEGIN, FOREACH_OBJECT_IN_MODE_END, DRWSelectBuffer::framebuffer_depth_only, g_select_buffer, GPU_framebuffer_bind(), GPU_framebuffer_clear_depth(), GPU_framebuffer_restore(), DRWManager::is_material_select, DRWManager::is_select, Object::mode, OB_ARMATURE, OB_MBALL, OB_MODE_POSE, DRWContextState::obact, OBEDIT_FROM_OBACT, DRWContextState::object_pose, View3D::object_type_exclude_select, View3D::object_type_exclude_viewport, OBPOSE_FROM_OBACT, OBWEIGHTPAINT_FROM_OBACT, DRWManager::options, View3D::overlay, DRWContextState::region, DRWContextState::rv3d, DRWContextState::scene, scene, View3D::shading, DRWSelectBuffer::texture_depth, Object::type, View3DShading::type, UNUSED_VARS, use_drw_engine(), DRWContextState::v3d, V3D_HIDE_OVERLAYS, V3D_OVERLAY_BONE_SELECT, V3D_SHOW_VIEWER, DRWContextState::view_layer, DEGObjectIterSettings::viewer_path, View3D::viewer_path, and DRWManager::vmempool.

Referenced by view3d_opengl_select_ex().

◆ drw_draw_show_annotation()

◆ DRW_draw_view()

◆ DRW_drawdata_ensure()

◆ DRW_drawdata_free()

◆ DRW_drawdata_get()

◆ drw_drawdata_unlink_dupli()

static void drw_drawdata_unlink_dupli ( ID * id)
static

◆ DRW_drawdatalist_from_id()

DrawDataList * DRW_drawdatalist_from_id ( ID * id)

Get DrawData from the given ID-block. In order for this to work, we assume that the DrawData pointer is stored in the in the same fashion as in IdDdtTemplate.

Definition at line 873 of file draw_manager_c.cc.

References IdDdtTemplate::drawdata, and id_can_have_drawdata().

Referenced by direct_link_id_common(), DRW_drawdata_ensure(), DRW_drawdata_free(), DRW_drawdata_get(), drw_drawdata_unlink_dupli(), id_buffer_init_from_id(), blender::deg::RuntimeBackup::init_from_id(), and select_cache_populate().

◆ drw_duplidata_free()

◆ DRW_duplidata_get()

void ** DRW_duplidata_get ( void * vedata)

Return nullptr if not a dupli or a pointer of pointer to the engine data.

Definition at line 772 of file draw_manager_c.cc.

References DST, DRWManager::dupli_datas, DRWManager::dupli_source, ViewportEngineData::engine_type, and DRWRegisteredDrawEngine::index.

Referenced by OVERLAY_duplidata_get().

◆ drw_duplidata_load()

◆ drw_engine_enable_image_editor()

◆ DRW_engine_register()

◆ DRW_engine_render_support()

bool DRW_engine_render_support ( DrawEngineType * draw_engine_type)

Definition at line 3057 of file draw_manager_c.cc.

References DrawEngineType::render_to_image.

◆ drw_engines_cache_finish()

◆ drw_engines_cache_init()

◆ drw_engines_cache_populate()

◆ drw_engines_data_validate()

◆ drw_engines_disable()

◆ drw_engines_draw_scene()

◆ drw_engines_draw_text()

◆ drw_engines_enable()

◆ drw_engines_enable_basic()

static void drw_engines_enable_basic ( )
static

Use for select and depth-drawing.

Definition at line 1204 of file draw_manager_c.cc.

References draw_engine_basic_type, and use_drw_engine().

Referenced by DRW_draw_depth_loop(), and DRW_draw_select_loop().

◆ drw_engines_enable_editors()

◆ drw_engines_enable_from_engine()

static void drw_engines_enable_from_engine ( const RenderEngineType * engine_type,
eDrawType drawtype )
static

◆ drw_engines_enable_overlays()

static void drw_engines_enable_overlays ( )
static

◆ DRW_engines_free()

◆ drw_engines_init()

◆ DRW_engines_register()

◆ drw_engines_world_update()

static void drw_engines_world_update ( Scene * scene)
static

◆ drw_gpencil_engine_needed()

◆ DRW_gpu_context_activate()

◆ DRW_gpu_context_create()

◆ DRW_gpu_context_destroy()

◆ DRW_gpu_context_disable()

◆ DRW_gpu_context_disable_ex()

◆ DRW_gpu_context_enable()

◆ DRW_gpu_context_enable_ex()

◆ DRW_gpu_context_release()

◆ DRW_is_viewport_compositor_enabled()

◆ drw_manager_exit()

◆ drw_manager_init()

static void drw_manager_init ( DRWManager * dst,
GPUViewport * viewport,
const int size[2] )
static

Sets DST.viewport, DST.size and a lot of other important variables. Needs to be called before enabling any draw engine.

  • viewport can be nullptr. In this case the data will not be stored and will be free at drw_manager_exit().
  • size can be nullptr to get it from viewport.
  • if viewport and size are nullptr, size is set to (1, 1).

IMPORTANT: drw_manager_init can be called multiple times before drw_manager_exit.

Definition at line 518 of file draw_manager_c.cc.

References BLI_assert, BLI_rctf_transform_calc_m4_pivot_min(), RegionView3D::clip, DRW_Global::clipping_ubo, View2D::cur, DefaultFramebufferList::default_fb, DRWManager::default_framebuffer, DRWManager::draw_ctx, DRWManager::draw_list, draw_unit_state_create(), DRW_DRAWLIST_LEN, DRW_view_clip_planes_set(), DRW_view_create(), DRW_view_data_default_framebuffer_list_get(), DRW_view_data_default_lists_from_viewport(), DRW_view_data_texture_list_size_validate(), DRW_viewport_data_create(), drw_viewport_data_ensure(), drw_viewport_data_reset(), ED_view3d_init_mats_rv3d(), G_draw, GPU_draw_list_create(), GPU_SHADER_CFG_CLIPPED, GPU_texture_height(), GPU_texture_width(), GPU_uniformbuf_create_ex(), GPU_viewport_active_view_get(), GPU_viewport_color_texture(), DRWManager::in_progress, DRWManager::inv_size, DRWContextState::object_edit, DRWManager::object_instance_data, DRWManager::pass_handle, DRWManager::pixsize, RegionView3D::pixsize, DRWManager::primary_view_num, DRWContextState::region, DRWManager::resource_handle, DRWContextState::rv3d, RV3D_BOXCLIP, RV3D_LOCK_FLAGS, DRWContextState::sh_cfg, DRWManager::size, tex, unit_m4(), view, DRWManager::view_active, DRWData::view_data, DRWManager::view_data_active, DRWManager::view_default, DRWManager::view_previous, DRW_Global::view_ubo, RegionView3D::viewmat, DRWManager::viewport, DRWManager::vmempool, and RegionView3D::winmat.

Referenced by DRW_cache_restart(), DRW_custom_pipeline_begin(), DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), DRW_render_gpencil(), and DRW_render_to_image().

◆ DRW_notify_view_update()

◆ drw_notify_view_update_offscreen()

◆ DRW_object_get_dupli()

◆ DRW_object_get_dupli_parent()

◆ DRW_object_is_in_edit_mode()

bool DRW_object_is_in_edit_mode ( const Object * ob)

Does ob needs to be rendered in edit mode.

When using duplicate linked meshes, objects that are not in edit-mode will be drawn as it is in edit mode, when another object with the same mesh is in edit mode. This will not be the case when one of the objects are influenced by modifiers.

Definition at line 203 of file draw_manager_c.cc.

References BKE_object_is_in_editmode(), ELEM, Object::mode, OB_CURVES, OB_MESH, OB_MODE_EDIT, and Object::type.

Referenced by drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), DRW_draw_select_id(), blender::draw::DRW_mesh_batch_cache_create_requested(), DRW_object_is_renderable(), overlay_edit_uv_cache_populate(), overlay_object_is_edit_mode(), and OVERLAY_wireframe_cache_populate().

◆ DRW_object_is_renderable()

◆ DRW_object_is_visible_psys_in_active_context()

◆ DRW_object_use_hide_faces()

◆ DRW_object_visibility_in_active_context()

◆ drw_registered_engines_free()

static void drw_registered_engines_free ( )
static

◆ DRW_render_check_grease_pencil()

◆ DRW_render_context_disable()

◆ DRW_render_context_enable()

◆ DRW_render_gpencil()

◆ DRW_render_gpencil_to_image()

static void DRW_render_gpencil_to_image ( RenderEngine * engine,
RenderLayer * render_layer,
const rcti * rect )
static

◆ DRW_render_instance_buffer_finish()

◆ DRW_render_object_iter()

◆ DRW_render_set_time()

void DRW_render_set_time ( RenderEngine * engine,
Depsgraph * depsgraph,
int frame,
float subframe )

◆ DRW_render_to_image()

◆ DRW_render_viewport_size_set()

void DRW_render_viewport_size_set ( const int size[2])
Warning
only use for custom pipeline. 99% of the time, you don't want to use this.

Definition at line 284 of file draw_manager_c.cc.

References DST, DRWManager::inv_size, and DRWManager::size.

◆ DRW_state_draw_background()

bool DRW_state_draw_background ( )

Whether we should render the background

Definition at line 3035 of file draw_manager_c.cc.

References DRWManager::draw_background, DST, and DRWManager::options.

Referenced by blender::draw::overlay::Background::begin_sync(), and OVERLAY_background_cache_init().

◆ DRW_state_draw_support()

bool DRW_state_draw_support ( )

Should draw support elements Objects center, selection outline, probe data, ...

Definition at line 3028 of file draw_manager_c.cc.

References DRWManager::draw_ctx, DRW_state_is_scene_render(), DST, View3D::flag2, DRWContextState::v3d, and V3D_HIDE_OVERLAYS.

Referenced by blender::eevee::VolumeProbeModule::init(), and blender::eevee::PlanarProbeModule::set_view().

◆ drw_state_ensure_not_reused()

static void drw_state_ensure_not_reused ( DRWManager * dst)
static

Definition at line 128 of file draw_manager_c.cc.

References offsetof.

Referenced by drw_manager_exit().

◆ DRW_state_is_depth()

◆ DRW_state_is_fbo()

◆ DRW_state_is_image_render()

◆ DRW_state_is_material_select()

bool DRW_state_is_material_select ( )

◆ DRW_state_is_navigating()

bool DRW_state_is_navigating ( )

◆ DRW_state_is_painting()

bool DRW_state_is_painting ( )

Is the user painting?

Definition at line 3016 of file draw_manager_c.cc.

References DRWManager::draw_ctx, DST, RegionView3D::rflag, DRWContextState::rv3d, and RV3D_PAINTING.

Referenced by blender::eevee::Instance::is_painting().

◆ DRW_state_is_playback()

◆ DRW_state_is_scene_render()

◆ DRW_state_is_select()

◆ DRW_state_is_viewport_image_render()

◆ drw_state_prepare_clean_for_draw()

◆ DRW_state_show_text()

◆ DRW_system_gpu_render_context_disable()

void DRW_system_gpu_render_context_disable ( void * re_system_gpu_context)

◆ DRW_system_gpu_render_context_enable()

void DRW_system_gpu_render_context_enable ( void * re_system_gpu_context)

◆ drw_task_graph_deinit()

◆ drw_task_graph_init()

◆ DRW_text_cache_ensure()

◆ DRW_view_layer_engine_data_ensure()

void ** DRW_view_layer_engine_data_ensure ( DrawEngineType * engine_type,
void(* callback )(void *storage) )

◆ DRW_view_layer_engine_data_ensure_ex()

void ** DRW_view_layer_engine_data_ensure_ex ( ViewLayer * view_layer,
DrawEngineType * engine_type,
void(* callback )(void *storage) )

◆ DRW_view_layer_engine_data_get()

void * DRW_view_layer_engine_data_get ( DrawEngineType * engine_type)

◆ DRW_viewport_data_create()

◆ drw_viewport_data_ensure()

static DRWData * drw_viewport_data_ensure ( GPUViewport * viewport)
static

◆ DRW_viewport_data_free()

◆ drw_viewport_data_reset()

◆ DRW_viewport_framebuffer_list_get()

◆ DRW_viewport_invert_size_get()

◆ DRW_viewport_pass_texture_get()

◆ DRW_viewport_pixelsize_get()

const float * DRW_viewport_pixelsize_get ( )

Definition at line 302 of file draw_manager_c.cc.

References DST, and DRWManager::pixsize.

Referenced by DRW_globals_update().

◆ DRW_viewport_request_redraw()

◆ DRW_viewport_size_get()

◆ DRW_viewport_texture_list_get()

◆ dupli_key_cmp()

static bool dupli_key_cmp ( const void * key1,
const void * key2 )
static

Definition at line 692 of file draw_manager_c.cc.

References DupliKey::ob, and DupliKey::ob_data.

Referenced by drw_duplidata_load().

◆ dupli_key_hash()

static uint dupli_key_hash ( const void * key)
static

Definition at line 686 of file draw_manager_c.cc.

References BLI_ghashutil_ptrhash(), DupliKey::ob, and DupliKey::ob_data.

Referenced by drw_duplidata_load().

◆ duplidata_key_free()

static void duplidata_key_free ( void * key)
static

◆ duplidata_value_free()

static void duplidata_value_free ( void * val)
static

Definition at line 737 of file draw_manager_c.cc.

References g_registered_engines, MEM_freeN(), and MEM_SAFE_FREE.

Referenced by drw_duplidata_free().

◆ id_can_have_drawdata()

static bool id_can_have_drawdata ( const ID * id)
static

Definition at line 863 of file draw_manager_c.cc.

References GS, and id_type_can_have_drawdata().

Referenced by DRW_drawdata_ensure(), and DRW_drawdatalist_from_id().

◆ id_type_can_have_drawdata()

static bool id_type_can_have_drawdata ( const short id_type)
static

Definition at line 842 of file draw_manager_c.cc.

References ID_IM, ID_MC, ID_MSK, ID_OB, ID_SCE, ID_TE, and ID_WO.

Referenced by id_can_have_drawdata().

◆ use_drw_engine()

Variable Documentation

◆ DST

DRWManager DST = {nullptr}

Render State: No persistent data between draw calls.

Definition at line 111 of file draw_manager_c.cc.

Referenced by blender::draw::TextureFromPool::acquire(), blender::draw::Manager::begin_sync(), blender::draw::curves_sub_pass_setup_implementation(), blender::draw::Manager::debug_bind(), draw_call_batching_finish(), draw_call_batching_flush(), draw_call_is_culled(), draw_call_resource_bind(), draw_compute_culling(), draw_geometry_bind(), draw_geometry_execute(), draw_indirect_call(), draw_legacy_matrix_update(), draw_shgroup(), draw_unit_state_create(), draw_update_uniforms(), drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_delayed(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), DRW_buffer_add_entry_array(), DRW_buffer_add_entry_struct(), DRW_cache_restart(), drw_call_obinfos_init(), drw_command_create(), DRW_context_state_get(), drw_context_state_init(), DRW_culling_box_test(), DRW_culling_frustum_corners_get(), DRW_culling_frustum_planes_get(), DRW_culling_min_max_test(), DRW_culling_plane_test(), DRW_culling_sphere_test(), DRW_custom_pipeline(), DRW_custom_pipeline_begin(), DRW_custom_pipeline_end(), DRW_debug_bbox(), drw_debug_draw(), DRW_debug_get(), drw_debug_gpu_draw_buf_get(), drw_debug_gpu_print_buf_get(), drw_debug_init(), DRW_debug_line_v3v3(), DRW_debug_m4(), DRW_debug_m4_as_bbox(), DRW_debug_modelmat(), DRW_debug_modelmat_reset(), DRW_debug_polygon_v3(), DRW_debug_sphere(), DRW_draw_callbacks_post_scene(), DRW_draw_callbacks_pre_scene(), DRW_draw_depth_loop(), DRW_draw_in_progress(), drw_draw_pass_ex(), DRW_draw_region_engine_info(), DRW_draw_render_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_render_loop_offscreen(), DRW_draw_select_id(), DRW_draw_select_loop(), drw_draw_show_annotation(), DRW_draw_view(), DRW_drawdata_ensure(), drw_duplidata_free(), DRW_duplidata_get(), drw_duplidata_load(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_data_validate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_draw_text(), drw_engines_enable(), drw_engines_enable_editors(), DRW_engines_free(), drw_engines_init(), drw_engines_world_update(), drw_ensure_layer_attribute_buffer(), DRW_fluid_ensure_flags(), DRW_fluid_ensure_range_field(), DRW_gpu_context_activate(), DRW_gpu_context_create(), DRW_gpu_context_destroy(), DRW_gpu_context_disable_ex(), DRW_gpu_context_enable(), DRW_gpu_context_enable_ex(), DRW_gpu_context_release(), DRW_is_viewport_compositor_enabled(), DRW_manager_begin_sync(), DRW_manager_end_sync(), DRW_manager_get(), DRW_notify_view_update(), drw_notify_view_update_offscreen(), DRW_object_get_dupli(), DRW_object_get_dupli_parent(), DRW_object_is_renderable(), DRW_object_ref_get(), DRW_object_resource_id_get(), DRW_pass_create(), DRW_pass_sort_shgroup_z(), drw_register_shader_vlattrs(), DRW_render_context_enable(), DRW_render_gpencil(), DRW_render_gpencil_to_image(), DRW_render_instance_buffer_finish(), DRW_render_object_iter(), DRW_render_set_time(), DRW_render_to_image(), DRW_render_viewport_size_set(), drw_resource_buffer_finish(), drw_resource_handle(), drw_resource_handle_new(), DRW_select_load_id(), DRW_shader_from_material(), DRW_shader_from_world(), DRW_shader_init(), DRW_shgroup_call_buffer(), DRW_shgroup_call_buffer_instance(), DRW_shgroup_call_ex(), DRW_shgroup_call_instance_range(), DRW_shgroup_call_instances(), DRW_shgroup_call_instances_with_attrs(), drw_shgroup_call_procedural_add_ex(), DRW_shgroup_call_procedural_indirect(), DRW_shgroup_call_range(), drw_shgroup_create_ex(), DRW_shgroup_create_sub(), blender::draw::DRW_shgroup_curves_create_sub(), drw_shgroup_material_texture(), drw_shgroup_uniform_create_ex(), DRW_smoke_ensure(), DRW_smoke_ensure_coba_field(), DRW_smoke_ensure_velocity(), DRW_state_draw_background(), DRW_state_draw_support(), DRW_state_is_depth(), DRW_state_is_fbo(), DRW_state_is_image_render(), DRW_state_is_material_select(), DRW_state_is_navigating(), DRW_state_is_painting(), DRW_state_is_playback(), DRW_state_is_scene_render(), DRW_state_is_select(), DRW_state_is_viewport_image_render(), DRW_state_lock(), DRW_state_reset_ex(), drw_state_set(), DRW_state_show_text(), drw_state_validate(), DRW_stats_draw(), DRW_system_gpu_render_context_disable(), DRW_system_gpu_render_context_enable(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_text_cache_ensure(), DRW_texture_pool_query_2d_ex(), drw_update_view(), DRW_view_create(), DRW_view_create_sub(), DRW_view_default_get(), DRW_view_default_set(), DRW_view_far_distance_get(), DRW_view_get_active(), DRW_view_is_persp_get(), DRW_view_layer_engine_data_ensure(), DRW_view_layer_engine_data_get(), DRW_view_near_distance_get(), DRW_view_persmat_get(), DRW_view_reset(), DRW_view_set_active(), DRW_view_update(), DRW_view_viewmat_get(), DRW_view_winmat_get(), DRW_viewport_framebuffer_list_get(), DRW_viewport_invert_size_get(), DRW_viewport_pass_texture_get(), DRW_viewport_pixelsize_get(), DRW_viewport_request_redraw(), DRW_viewport_size_get(), DRW_viewport_texture_list_get(), drw_volume_object_grids_init(), blender::draw::drw_volume_object_mesh_init(), drw_volume_object_mesh_init(), blender::draw::command::StateSet::execute(), blender::draw::TextureFromPool::release(), blender::draw::Manager::submit(), blender::draw::TextureFromPool::swap(), use_drw_engine(), and blender::draw::volume_object_grids_init().

◆ engines

ListBase engines

Definition at line 114 of file draw_manager_c.cc.

Referenced by all_scenes_use().

◆ [struct]

◆ g_select_buffer

struct DRWSelectBuffer g_select_buffer = {nullptr}
static

◆ len

int len

Definition at line 115 of file draw_manager_c.cc.

Referenced by _bli_array_permute(), _glewSearchExtension(), add_struct(), addedgetoscanlist(), Freestyle::BlenderFileLoader::addTriangle(), alter_co(), angle_poly_v3(), ANIM_add_driver_with_target(), apply_heights_callback(), area_light_max_extent(), area_light_rect_sample(), area_light_spread_clamp_light(), arrow_draw_geom(), blender::ed::asset::asset_bundle_install_exec(), bake_offset_towards_center(), blender::gpu::MTLFrameBuffer::bake_render_pass_descriptor(), bezier_handle_calc_length_v3(), BKE_brush_curve_strength(), BKE_brush_curve_strength_clamped(), BKE_curve_bevelList_make(), BKE_curve_correct_bezpart(), BKE_fcurve_correct_bezpart(), BKE_fcurve_pathcache_find(), BKE_fcurve_pathcache_find_array(), BKE_gpencil_stroke_join(), BKE_image_save_options_init(), BKE_image_user_frame_get(), BKE_keyblock_convert_from_mesh(), BKE_mask_clipboard_copy_from_layer(), BKE_mask_point_set_handle(), BKE_mask_spline_resolution(), BKE_mball_is_basis(), BKE_nurb_duplicate(), BKE_nurb_makeCurve(), BKE_nurb_makeFaces(), BKE_object_dimensions_set_ex(), BKE_packedfile_compare_to_file(), BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_time(), BKE_ptcache_load_external(), BKE_report(), BKE_tracking_tracks_join(), BKE_vfont_clipboard_set(), blendfile_library_relocate_remap(), BLI_box_pack_2d(), BLI_dir_create_recursive(), BLI_dir_free_space(), BLI_dynstr_nappend(), BLI_exists(), BLI_file_unzstd_to_mem_at_pos(), BLI_file_zstd_from_mem_at_pos(), BLI_filereader_new_memory(), BLI_hash_md5_buffer(), BLI_hash_md5_stream(), BLI_hash_md5_to_hexdigest(), BLI_hash_mm2(), BLI_hash_mm2a_add(), BLI_hash_mm3(), BLI_jitterate1(), BLI_linklist_count(), BLI_path_join_array(), BLI_path_make_safe_filename_ex(), BLI_path_slash_rstrip(), BLI_str_escape(), BLI_str_format_byte_unit(), BLI_str_tolower_ascii(), BLI_str_toupper_ascii(), BLI_str_unescape(), BLI_str_unescape_ex(), BLI_str_utf32_as_utf8(), BLI_str_utf32_as_utf8_len(), BLI_str_utf32_as_utf8_len_ex(), BLI_str_utf8_as_unicode_or_error(), BLI_str_utf8_as_unicode_step_or_error(), BLI_str_utf8_as_utf32(), BLI_str_utf8_from_unicode(), BLI_str_utf8_from_unicode_len(), BLI_strcasestr(), BLI_strdupn(), BLI_string_flip_side_name(), BLI_string_split_prefix(), BLI_string_split_suffix(), BLI_strlen_utf8_ex(), BLI_strncasecmp(), BLI_strncasestr(), BLI_strncat(), BLI_strncpy_wchar_as_utf8(), BLI_strnlen(), BLI_strnlen_utf8_ex(), BLI_system_thread_count(), BLI_uniquename_cb(), BLI_uniquename_cb(), BLI_wstrlen_utf8(), BLO_read_string(), bm_bridge_best_rotation(), BM_disk_dissolve(), bm_edge_info_average_length(), BM_edge_is_any_face_len_test(), bm_edgeloop_offset_length(), BM_edges_from_verts(), BM_edges_from_verts_ensure(), bm_edges_sort_winding(), BM_face_create(), BM_face_create_ngon(), BM_face_create_ngon_verts(), BM_face_create_verts(), BM_face_exists(), BM_face_exists_multi(), BM_face_exists_multi_edge(), BM_face_exists_overlap(), BM_face_exists_overlap_subset(), BM_face_split_edgenet_connect_islands(), BM_face_splits_check_legal(), BM_face_splits_check_optimal(), BM_iter_as_array(), BM_loop_at_index_find(), BM_loop_calc_face_normal(), bm_mesh_calc_uvs_sphere_face(), bm_uidwalk_init_from_edge(), BM_vert_calc_normal(), BM_vert_calc_normal_ex(), BM_vert_dissolve(), BM_vert_normal_update_all(), BM_verts_from_edges(), BM_verts_in_face(), BM_verts_in_face_count(), BM_verts_sort_radial_plane(), bmesh_disk_validate(), bmesh_elem_check(), bmesh_loop_validate(), bmo_connect_verts_nonplanar_exec(), bmo_create_uvsphere_exec(), BMO_iter_as_array(), BMO_slot_as_arrayN(), BMO_slot_buffer_alloc(), bmw_EdgeringWalker_step(), boid_brain(), bone_autoside_name(), boxPack_FromPyObject(), boxPack_ToPyObject(), bpy_bmeditselseq_subscript(), bpy_bmelemseq_subscript(), bpy_bmlayercollection_subscript(), bpy_bmlayercollection_subscript_int(), bpy_bmlayercollection_subscript_slice(), BPY_context_member_get(), BPy_IDGroup_CorrectListLen(), bpy_prop_boolean_array_get_fn(), bpy_prop_boolean_array_set_fn(), bpy_prop_float_array_get_fn(), bpy_prop_float_array_set_fn(), bpy_prop_int_array_get_fn(), bpy_prop_int_array_set_fn(), bsdf_hair_huang_eval_residual(), bsdf_hair_huang_sample(), bsdf_microfacet_eval(), btAdjustInternalEdgeContacts(), btStrLen(), buffer_alloc(), buffer_realloc(), Buffer_to_list(), Buffer_to_list_recursive(), C_BVHTree_FromPolygons(), calc_bevfac_spline_mapping(), calc_strength(), calchandle_curvemap(), calchandleNurb_intern(), LightTreeMeasure::calculate(), blender::bke::curves::bezier::calculate_point_handles(), btTransformUtil::calculateDiffAxisAngle(), btTransformUtil::calculateDiffAxisAngleQuaternion(), camera_distance(), camera_z_depth(), channel_list_visible_key_len(), channel_visible_key_len(), check_field_alignment(), clampto_evaluate(), clg_ctx_filter_check(), clg_str_append_with_len(), clg_str_reserve(), cloth_bend_poly_dir(), cloth_bend_set_poly_vert_array(), cloth_calc_helper_forces(), blender::ed::sculpt_paint::mask::color_delta_get(), compute_3d_orientation(), compute_face_normal(), Mesh::Triangle::compute_normal(), console_cursor_set_to_pos(), console_delete_editable_selection(), console_indent_exec(), console_insert_exec(), console_insert_invoke(), console_line_insert(), console_line_verify_length(), console_modal_select_invoke(), console_unindent_exec(), copy_single_file(), blender::compositor::tests::create_buffer(), blender::compositor::tests::create_input_buffer(), blender::draw::create_material_subranges(), Freestyle::createStroke(), curve_to_displist(), differential_make_compact(), dir_create_recursive(), direction_to_central_cylindrical(), direction_to_equirectangular_range(), direction_to_fisheye(), distance(), distance(), distance(), distant_light_uv(), DNA_struct_member_size(), blender::ed::sculpt_paint::color::do_smear_brush_task(), dquat_to_mat4(), draw_distortion(), draw_frustum_bound_sphere_calc(), drw_shgroup_bone_envelope(), ED_armature_ebone_from_mat3(), ED_info_statusbar_string_ex(), ED_mask_feather_find_nearest(), ed_mesh_pick_vert__mapFunc(), ED_node_tree_path_get(), ED_scene_grid_scale(), edbm_bevel_calc_initial_length(), edbm_connect_vert_pair(), editstr_insert_at_cursor(), eff_calc_visibility(), ensure_digits(), evaluate_curve_type_object(), evaluate_surface_object(), export_hair_curves(), blender::io::usd::export_packed_texture(), exr_rgba_channelname(), blender::geometry::extend_curves_curved(), blender::gpu::extract_shared_memory_blocks(), blender::draw::extract_tris_subdiv(), fcurve_path_rename(), file_draw_string_multiline(), file_seek(), find_internal_spring_target_vertex(), find_min_value(), flatten_string(), flatten_string_append(), flatten_string_strlen(), blender::gpu::MTLCircularBuffer::flush(), blender::ed::object::followpath_path_animate_exec(), blender::draw::View::frustum_culling_sphere_calc(), fsmenu_entry_generate_name(), fsmenu_read_bookmarks(), gearGL(), gearGL(), get_default_rna_value(), get_stats_string(), get_suggest_prefix(), GHOST_SystemWin32::getClipboard(), GHOST_SystemX11::getClipboard_xcout(), GHOST_WindowX11::GHOST_WindowX11(), gizmo_preselect_elem_test_select(), gizmo_ruler_draw(), GPU_debug_get_groups_names(), GPU_indexbuf_update_sub(), GPU_shader_uniform_1f_array(), GPU_shader_uniform_2fv_array(), GPU_shader_uniform_4fv_array(), GPU_shader_uniform_float_ex(), GPU_shader_uniform_int_ex(), GPU_unpack_row_length_set(), blender::draw::gpu_vertbuf_create_from_format(), GPU_vertbuf_update_sub(), GPU_vertformat_safe_attr_name(), blender::compositor::DebugInfo::graphviz_legend(), blender::compositor::DebugInfo::graphviz_legend_color(), blender::compositor::DebugInfo::graphviz_legend_group(), blender::compositor::DebugInfo::graphviz_legend_line(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::DebugInfo::graphviz_system(), HsiehHash(), hull_merge_triangles(), idp_from_PyMapping(), IDP_ResizeIDPArray(), idp_sequence_type(), idp_str_append_escape(), idprop_ui_data_update_bool_default(), idprop_ui_data_update_float_default(), idprop_ui_data_update_int_default(), imb_exr_insert_view_name(), imb_exr_split_channel_name(), IMB_indexer_get_frame_index(), init_track_for_stabilization(), blender::draw::init_vbo_for_attribute(), btDefaultSerializer::initDNA(), insert_text_exec(), blender::gpu::is_program_word(), is_track_clean(), light_distribution_sample(), light_tree_emitter_importance(), light_tree_node_importance(), LightTreeEmitter::LightTreeEmitter(), blender::ed::sculpt_paint::load_tex_cursor_task_cb(), blender::ed::sculpt_paint::load_tex_task_cb_ex(), M_Geometry_area_tri(), M_Geometry_box_fit_2d(), M_Geometry_box_pack_2d(), M_Geometry_convex_hull_2d(), M_Interpolate_poly_3d_calc(), make_memhead_header(), make_structDNA(), map_to_tube(), blender::ed::sculpt_paint::mask::mask_by_color_contiguous_mesh(), mathutils_array_hash(), mathutils_rna_vector_set(), md5_process_block(), mdisp_rot_face_to_crn(), mean_value_half_tan_v2_db(), mean_value_half_tan_v3(), MEM_guarded_calloc_arrayN(), MEM_guarded_calloc_arrayN_aligned(), MEM_guarded_callocN(), MEM_guarded_malloc_arrayN(), MEM_guarded_mallocN(), MEM_guarded_mallocN_aligned(), MEM_guarded_reallocN_id(), MEM_guarded_recallocN_id(), MEM_lockfree_calloc_arrayN(), MEM_lockfree_calloc_arrayN_aligned(), MEM_lockfree_callocN(), MEM_lockfree_freeN(), MEM_lockfree_malloc_arrayN(), MEM_lockfree_mallocN(), MEM_lockfree_mallocN_aligned(), MEM_lockfree_reallocN_id(), MEM_lockfree_recallocN_id(), MEM_mallocN_aligned(), mesh_add_edges(), mesh_add_faces(), mesh_add_loops(), mesh_add_verts(), mesh_remove_edges(), mesh_remove_faces(), mesh_remove_loops(), mesh_remove_verts(), mesh_uv_reset_array(), meshdeform_ray_tree_intersect(), metadata_draw_imbuf(), blender::ComputeContextHash::mix_in(), mm2a_mix_tail(), MOD_solidify_nonmanifold_modifyMesh(), motion_path_cache(), blender::gpu::MSLGeneratorInterface::msl_patch_default_get(), mywrite(), new_folder_path(), blender::draw::SwapChain< T, len >::next(), blender::draw::SwapChain< T, len >::next(), nlaedit_split_strip_actclip(), blender::noise_table(), blender::noise_table(), blender::math::normalize(), blender::math::normalize(), mikk::float3::normalize(), normalize(), normalize(), normalize(), normalize(), normalize_len(), normalize_len(), normalize_m4(), normalize_m4_m4(), blender::asset_system::utils::normalize_path(), normalize_qt(), object_volume_density(), ObtainCacheParticleData(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_float_vec(), opj_seek_from_buffer(), osl_area(), blender::ed::outliner::outliner_buttons(), output_iris(), blender::geometry::p_chart_boundaries(), blender::geometry::p_chart_correct_degenerate_triangles2(), blender::geometry::p_chart_minimum_area_angle(), blender::geometry::p_chart_symmetry_pins(), blender::ed::sculpt_paint::paint_stroke_line_constrain(), parse_int_range_relative_clamp_n(), blender::io::ply::parse_word(), partition(), passtype_from_name(), paste_selection(), paste_text_exec(), path_len_no_trailing_slash(), point_calculate_handle(), blender::point_counts_to_keep_concurrent(), poly_avg(), poly_norm(), pose_slide_apply_props(), precise_angle(), blender::draw::SwapChain< T, len >::previous(), blender::draw::SwapChain< T, len >::previous(), btSphereSphereCollisionAlgorithm::processCollision(), prop_subscript_ass_array_int(), btSoftBody::PSolve_Links(), psys_get_dupli_path_transform(), ptcache_file_compressed_read(), ptcache_filepath(), ptcache_filepath_ext_append(), ptcache_frame_from_filename(), GHOST_SystemWin32::putClipboard(), PyC_Tuple_PackArray_Bool(), PyC_Tuple_PackArray_F32(), PyC_Tuple_PackArray_F64(), PyC_Tuple_PackArray_I32(), PyC_Tuple_PackArray_I32FromBool(), PyC_Tuple_PackArray_Multi_Bool_impl(), PyC_Tuple_PackArray_Multi_F32_impl(), PyC_Tuple_PackArray_Multi_F64_impl(), PyC_Tuple_PackArray_Multi_I32_impl(), PyC_Tuple_PackArray_String(), pygpu_buffer_to_list(), pygpu_buffer_to_list_recursive(), pygpu_fill_format_sequence(), pygpu_matrix_scale(), pygpu_matrix_translate(), pygpu_texture__tp_new(), pygpu_vertbuf__tp_new(), pygpu_vertformat_attr_add(), pyrna_array_contains_py(), pyrna_deferred_register_class_recursive(), pyrna_math_object_from_array(), pyrna_param_to_py(), pyrna_prop_array_ass_subscript(), pyrna_prop_array_iter(), pyrna_prop_array_subscript(), pyrna_prop_array_subscript_int(), pyrna_prop_collection_ass_subscript(), pyrna_prop_collection_ass_subscript_int(), pyrna_prop_collection_subscript(), pyrna_prop_collection_subscript_int(), pyrna_prop_str(), pyrna_py_from_array_index(), quad_from_tris(), Quaternion_angle_set(), Quaternion_axis_vector_set(), blender::bke::cryptomatte::manifest::quoted_string_len_(), radial_control_get_path(), ray_optical_depth(), blender::render::hydra::RenderTaskDelegate::read_aov(), read_file_as_buffer(), blender::io::obj::read_next_line(), readtab(), replace_bbone_len_scale_rnapath(), report_error_on_address(), report_error_on_address(), repr_str(), btSolve2LinearConstraint::resolveBilateralPairConstraint(), btSolve2LinearConstraint::resolveUnilateralPairConstraint(), rna_array_as_string(), rna_array_as_string_alloc(), rna_array_as_string_elem(), RNA_def_boolean_array(), RNA_def_boolean_layer(), RNA_def_boolean_layer_member(), RNA_def_boolean_vector(), RNA_def_float_array(), RNA_def_float_color(), RNA_def_float_rotation(), RNA_def_float_translation(), RNA_def_float_vector(), RNA_def_float_vector_xyz(), RNA_def_int_array(), RNA_def_int_vector(), rna_generate_property(), RNA_parameter_dynamic_length_get(), rna_parameter_size(), rna_path_parse_array_index(), rna_path_token(), rna_path_token_in_brackets(), RNA_property_animated(), rna_property_array_length_all_dimensions(), RNA_property_as_string(), RNA_property_boolean_get_default_index(), RNA_property_boolean_get_index(), RNA_property_boolean_set_index(), RNA_property_collection_clear(), RNA_property_collection_move(), RNA_property_collection_raw_get(), RNA_property_collection_raw_set(), RNA_property_collection_remove(), RNA_property_float_get_default_index(), RNA_property_float_get_index(), RNA_property_float_set_index(), RNA_property_int_get_default_index(), RNA_property_int_get_index(), RNA_property_int_set_index(), RNA_property_multi_array_length(), RNA_property_reset(), RNA_property_string_set_bytes(), rotation_contribution(), rule_avoid_collision(), rule_follow_leader(), rule_goal_avoid(), rule_separate(), blender::ed::geometry::run_node_group_get_name(), safe_normalize(), safe_normalize(), safe_normalize(), safe_normalize_fallback(), safe_normalize_len(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::color::sculpt_color_filter_modal(), blender::ed::sculpt_paint::filter::sculpt_mesh_update_strength(), select_bidomain(), select_similar_length(), seq_foreach_path_callback(), sequencer_change_path_exec(), sequencer_image_seq_reserve_frames(), serializeDynamicsWorldInfo(), btMultiBodyDynamicsWorld::serializeMultiBodies(), btDefaultSerializer::serializeName(), serializeRigidBodies(), serializeSingleBvh(), serializeSingleShape(), serializeSingleTriangleInfoMap(), btSoftMultiBodyDynamicsWorld::serializeSoftBodies(), btSoftRigidDynamicsWorld::serializeSoftBodies(), session_print(), set_case(), setNearestAxis3d(), single_scattering(), blender::draw::SwapChain< T, len >::size(), skin_choose_quad_bridge_order(), slide_dist(), space_text_cursor_set_to_pos_wrapped(), sphere_do(), stencil_control_calculate(), blender::draw::StorageArrayBuffer< T, len, device_only >::StorageArrayBuffer(), blender::draw::detail::StorageCommon< T, len, device_only >::StorageCommon(), str_tolower_titlecaps_ascii(), strbuf_append_path(), strbuf_trim(), string_dup(), string_endswith(), string_startswith(), blender::io::stl::StringBuffer::StringBuffer(), svm_node_camera(), svm_node_tex_gabor(), svm_node_vector_rotate(), svm_node_wireframe(), svm_vector_math(), svm_wave(), blender::draw::SwapChain< T, len >::swap(), system_physical_ram(), tan_angle(), blender::math::tests::TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), blender::draw::test_eevee_shadow_page_mask_ex(), blender::draw::test_eevee_shadow_tag_update(), text_autocomplete_build(), text_check_format_len(), text_convert_whitespace_exec(), text_format_fill(), text_format_fill_ascii(), text_from_buf(), text_insert_invoke(), texttool_suggest_add(), blender::gpu::GLStateManager::texture_unpack_row_length_set(), blender::gpu::MTLStateManager::texture_unpack_row_length_set(), blender::gpu::VKStateManager::texture_unpack_row_length_set(), textview_draw_string(), tracking_dopesheet_channels_segments_calc(), transform_decompose(), tri_to_quat(), triangle_area(), triangle_light_pdf(), blender::draw::StorageArrayBuffer< T, len, device_only >::trim_to_next_power_of_2(), txt_from_buf_for_undo(), txt_select_prefix(), txtfmt_glsl_format_line(), txtfmt_osl_format_line(), txtfmt_pov_format_line(), txtfmt_pov_ini_format_line(), txtfmt_py_format_line(), TYPED_TEST(), ui_block_calc_pie_segment(), ui_but_text_password_hide(), ui_do_but_HSVCIRCLE(), ui_do_but_HSVCUBE(), UI_draw_text_underline(), ui_handle_list_event(), ui_item_array(), ui_item_name_add_colon(), ui_item_rna_size(), ui_layer_but_cb(), UI_list_filter_and_sort_items(), ui_number_from_string_factor(), ui_number_from_string_percentage(), ui_numedit_but_HSVCIRCLE(), ui_selectcontext_apply(), ui_text_clip_cursor(), ui_textedit_begin(), ui_textedit_delete(), ui_textedit_delete_selection(), ui_textedit_insert_buf(), ui_textedit_move(), uiDefAutoButsArrayR(), uiItemFullR(), uiTemplateImageInfo(), uiTemplateMovieclipInformation(), blender::draw::UniformArrayBuffer< T, len >::UniformArrayBuffer(), blender::draw::detail::UniformCommon< T, len, device_only >::UniformCommon(), unique_name(), unit_as_string(), unit_scale_str(), unpack_generate_paths(), blender::ed::sculpt_paint::update_curve_mask(), blender::ed::sculpt_paint::update_sampled_curve(), blender::gpu::GLIndexBuf::update_sub(), blender::gpu::GLVertBuf::update_sub(), blender::gpu::MTLIndexBuf::update_sub(), blender::gpu::MTLVertBuf::update_sub(), btSoftBody::updateNormals(), utf8_char_decode(), util_murmur_hash3(), uvedit_uv_straighten_elements(), Freestyle::V2Normalize(), Freestyle::V2Scale(), validate_array_length(), vec_to_quat(), vector_angle(), blender::draw::vertbuf_alloc(), blender::draw::vertbuf_device_alloc(), blender::draw::vertbuf_update_data(), view3d_grid_steps_ex(), wireframe(), wm_autosave_location(), WM_gesture_lasso_path_to_array(), wm_gizmomap_select_array_ensure_len_alloc(), wm_read_exotic(), Camera::world_to_raster_size(), blender::math::QuaternionBase< T >::wrapped_around(), blender::io::ply::FileBuffer::write_fstring(), writedata(), and writetab().

◆ LOG

CLG_LogRef LOG = {"draw.manager"}
static

Definition at line 108 of file draw_manager_c.cc.

Referenced by DRW_notify_view_update().