Blender
V3.3
|
#include "DRW_engine.h"
#include "DRW_render.h"
#include "BLI_assert.h"
#include "BLI_linklist.h"
#include "BLI_memblock.h"
#include "BLI_task.h"
#include "BLI_threads.h"
#include "GPU_batch.h"
#include "GPU_context.h"
#include "GPU_drawlist.h"
#include "GPU_framebuffer.h"
#include "GPU_shader.h"
#include "GPU_uniform_buffer.h"
#include "GPU_viewport.h"
#include "draw_instance_data.h"
#include "draw_shader_shared.h"
#include "PIL_time.h"
Go to the source code of this file.
Classes | |
struct | DRWRegisteredDrawEngine |
struct | DRWCullingState |
struct | DRWObjectMatrix |
struct | DRWObjectInfos |
struct | DRWCommandDraw |
struct | DRWCommandDrawRange |
struct | DRWCommandDrawInstance |
struct | DRWCommandDrawInstanceRange |
struct | DRWCommandCompute |
struct | DRWCommandComputeRef |
struct | DRWCommandComputeIndirect |
struct | DRWCommandBarrier |
struct | DRWCommandDrawProcedural |
struct | DRWCommandSetMutableState |
struct | DRWCommandSetStencil |
struct | DRWCommandSetSelectID |
struct | DRWCommandClear |
union | DRWCommand |
struct | DRWCallBuffer |
struct | DRWUniform |
struct | DRWShadingGroup |
struct | DRWPass |
struct | DRWView |
struct | DRWUniformChunk |
struct | DRWCommandChunk |
struct | DRWCommandSmallChunk |
struct | DRWDebugLine |
struct | DRWDebugSphere |
struct | DRWData |
struct | DupliKey |
struct | DRWManager |
Macros | |
#define | USE_GPU_SELECT |
#define | USE_BATCHING 1 |
#define | DRW_DEBUG_USE_UNIFORM_NAME 0 |
#define | DRW_UNIFORM_BUFFER_NAME 64 |
#define | USE_PROFILE |
#define | PROFILE_TIMER_FALLOFF 0.04 |
#define | PROFILE_START(time_start) |
#define | PROFILE_END_ACCUM(time_accum, time_start) |
#define | PROFILE_END_UPDATE(time_update, time_start) |
#define | DRW_RESOURCE_CHUNK_LEN 512 |
#define | DRW_MAX_DRAW_CMD_TYPE DRW_CMD_DRAW_PROCEDURAL |
#define | MAX_PASS_NAME 32 |
#define | MAX_CULLED_VIEWS 32 |
#define | DST_MAX_SLOTS 64 /* Cannot be changed without modifying RST.bound_tex_slots */ |
#define | MAX_CLIP_PLANES 6 /* GL_MAX_CLIP_PLANES is at least 6 */ |
#define | STENCIL_UNDEFINED 256 |
#define | DRW_DRAWLIST_LEN 256 |
Variables | |
DRWManager | DST |
#define DRW_DEBUG_USE_UNIFORM_NAME 0 |
Definition at line 46 of file draw_manager.h.
#define DRW_DRAWLIST_LEN 256 |
Definition at line 557 of file draw_manager.h.
#define DRW_MAX_DRAW_CMD_TYPE DRW_CMD_DRAW_PROCEDURAL |
Definition at line 206 of file draw_manager.h.
#define DRW_RESOURCE_CHUNK_LEN 512 |
Definition at line 116 of file draw_manager.h.
#define DRW_UNIFORM_BUFFER_NAME 64 |
Definition at line 47 of file draw_manager.h.
#define DST_MAX_SLOTS 64 /* Cannot be changed without modifying RST.bound_tex_slots */ |
Definition at line 554 of file draw_manager.h.
#define MAX_CLIP_PLANES 6 /* GL_MAX_CLIP_PLANES is at least 6 */ |
Definition at line 555 of file draw_manager.h.
#define MAX_CULLED_VIEWS 32 |
Definition at line 430 of file draw_manager.h.
#define MAX_PASS_NAME 32 |
Definition at line 409 of file draw_manager.h.
#define PROFILE_END_ACCUM | ( | time_accum, | |
time_start | |||
) |
Definition at line 62 of file draw_manager.h.
#define PROFILE_END_UPDATE | ( | time_update, | |
time_start | |||
) |
Definition at line 69 of file draw_manager.h.
#define PROFILE_START | ( | time_start | ) |
Definition at line 58 of file draw_manager.h.
#define PROFILE_TIMER_FALLOFF 0.04 |
Definition at line 56 of file draw_manager.h.
#define STENCIL_UNDEFINED 256 |
Definition at line 556 of file draw_manager.h.
#define USE_BATCHING 1 |
Use draw-call batching using instanced rendering.
Definition at line 43 of file draw_manager.h.
#define USE_GPU_SELECT |
Use draw manager to call GPU_select, see: DRW_draw_select_loop
Definition at line 40 of file draw_manager.h.
#define USE_PROFILE |
Definition at line 51 of file draw_manager.h.
typedef union DRWCommand DRWCommand |
typedef struct DRWCommandBarrier DRWCommandBarrier |
typedef struct DRWCommandChunk DRWCommandChunk |
typedef struct DRWCommandClear DRWCommandClear |
typedef struct DRWCommandCompute DRWCommandCompute |
typedef struct DRWCommandComputeIndirect DRWCommandComputeIndirect |
typedef struct DRWCommandComputeRef DRWCommandComputeRef |
typedef struct DRWCommandDraw DRWCommandDraw |
typedef struct DRWCommandDrawInstance DRWCommandDrawInstance |
typedef struct DRWCommandDrawInstanceRange DRWCommandDrawInstanceRange |
typedef struct DRWCommandDrawProcedural DRWCommandDrawProcedural |
typedef struct DRWCommandDrawRange DRWCommandDrawRange |
typedef struct DRWCommandSetMutableState DRWCommandSetMutableState |
typedef struct DRWCommandSetSelectID DRWCommandSetSelectID |
typedef struct DRWCommandSetStencil DRWCommandSetStencil |
typedef struct DRWCommandSmallChunk DRWCommandSmallChunk |
typedef struct DRWCullingState DRWCullingState |
Data structure containing all drawcalls organized by passes and materials. DRWPass > DRWShadingGroup > DRWCall > DRWCallState > DRWUniform
typedef struct DRWDebugLine DRWDebugLine |
typedef struct DRWDebugSphere DRWDebugSphere |
typedef struct DRWManager DRWManager |
typedef struct DRWObjectInfos DRWObjectInfos |
typedef struct DRWObjectMatrix DRWObjectMatrix |
typedef struct DRWRegisteredDrawEngine DRWRegisteredDrawEngine |
Data structure to for registered draw engines that can store draw manager specific data.
typedef uint32_t DRWResourceHandle |
Identifier used to sort similar drawcalls together. Also used to reference elements inside memory blocks.
From MSB to LSB 1 bit for negative scale. 22 bits for chunk id. 9 bits for resource id inside the chunk. (can go up to 511) |-|-------------------—|------—|
Use manual bit-shift and mask instead of bit-fields to avoid compiler dependent behavior that would mess the ordering of the members thus changing the sorting order.
Definition at line 132 of file draw_manager.h.
typedef struct DRWUniformChunk DRWUniformChunk |
In order to keep a cache friendly data structure, we alloc most of our little data into chunks of multiple item. Iteration, allocation and memory usage are better. We lose a bit of memory by allocating more than what we need but it's counterbalanced by not needing the linked-list pointers for each item.
enum DRWUniformType |
Used by DRWUniform.type
Definition at line 308 of file draw_manager.h.
enum eDRWCommandType |
Definition at line 184 of file draw_manager.h.
eDRWCommandType command_type_get | ( | const uint64_t * | command_type_bits, |
int | index | ||
) |
Definition at line 774 of file draw_manager_data.c.
Referenced by draw_command_iter_step(), DRW_pass_sort_shgroup_z(), and DRW_shgroup_is_empty().
Definition at line 3329 of file draw_cache.c.
References CTX_data_mode_enum_ex(), CTX_MODE_EDIT_MESH, CTX_MODE_PAINT_TEXTURE, CTX_MODE_PAINT_VERTEX, CTX_MODE_PAINT_WEIGHT, CTX_MODE_SCULPT, Object::data, DRW_context_state_get(), DRW_curve_batch_cache_create_requested(), DRW_curves_batch_cache_create_requested(), DRW_mesh_batch_cache_create_requested(), DRW_object_is_in_edit_mode(), DRW_object_use_hide_faces(), DST, ELEM, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_MESH, OB_SURF, DRWContextState::obact, DRWContextState::object_edit, DRWContextState::object_mode, scene, DRWContextState::scene, DRWManager::task_graph, and Object::type.
Referenced by drw_engines_cache_populate(), DRW_render_object_iter(), and duplidata_key_free().
Definition at line 3392 of file draw_cache.c.
Definition at line 3362 of file draw_cache.c.
References BKE_object_get_evaluated_mesh_no_subsurf(), CTX_data_mode_enum_ex(), CTX_MODE_EDIT_MESH, CTX_MODE_PAINT_TEXTURE, CTX_MODE_PAINT_VERTEX, CTX_MODE_PAINT_WEIGHT, CTX_MODE_SCULPT, DRW_context_state_get(), DRW_curve_batch_cache_create_requested(), DRW_mesh_batch_cache_create_requested(), DRW_object_is_in_edit_mode(), DRW_object_use_hide_faces(), DST, ELEM, mesh, NULL, OB_CURVES_LEGACY, OB_FONT, OB_MESH, OB_SURF, DRWContextState::obact, DRWContextState::object_edit, DRWContextState::object_mode, scene, DRWContextState::scene, DRWManager::task_graph, and Object::type.
Referenced by drw_task_graph_deinit().
Definition at line 3298 of file draw_cache.c.
Definition at line 183 of file draw_cache.c.
References DRWShapeCache::drw_procedural_lines, GPU_batch_create_ex(), GPU_BATCH_OWNS_VBO, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_PRIM_LINES, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), NULL, and SHC.
Referenced by DRW_shgroup_call_procedural_lines().
Definition at line 169 of file draw_cache.c.
References DRWShapeCache::drw_procedural_verts, GPU_batch_create_ex(), GPU_BATCH_OWNS_VBO, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_PRIM_POINTS, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), NULL, and SHC.
Referenced by DRW_shgroup_call_procedural_points().
Definition at line 197 of file draw_cache.c.
References DRWShapeCache::drw_procedural_tris, GPU_batch_create_ex(), GPU_BATCH_OWNS_VBO, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_PRIM_TRIS, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), NULL, and SHC.
Referenced by DRW_shgroup_call_procedural_triangles().
Definition at line 187 of file draw_debug.c.
References drw_debug_draw_lines(), and drw_debug_draw_spheres().
Referenced by DRW_draw_callbacks_post_scene().
Definition at line 193 of file draw_debug.c.
References DRW_debug_modelmat_reset().
Referenced by DRW_draw_render_loop_2d_ex(), and DRW_draw_render_loop_ex().
void drw_engine_data_cache_release | ( | GPUViewport * | viewport | ) |
double* drw_engine_data_cache_time_get | ( | GPUViewport * | viewport | ) |
void* drw_engine_data_engine_data_create | ( | GPUViewport * | viewport, |
void * | engine_type | ||
) |
void* drw_engine_data_engine_data_get | ( | GPUViewport * | viewport, |
void * | engine_handle | ||
) |
bool drw_engine_data_engines_data_validate | ( | GPUViewport * | viewport, |
void ** | engine_handle_array | ||
) |
void drw_engine_data_free | ( | GPUViewport * | viewport | ) |
BLI_INLINE uint32_t DRW_handle_chunk_get | ( | const DRWResourceHandle * | handle | ) |
Definition at line 139 of file draw_manager.h.
Referenced by draw_call_batching_do(), draw_call_resource_bind(), DRW_memblock_elem_from_handle(), drw_resource_buffer_finish(), and drw_uniform_attrs_pool_update().
BLI_INLINE uint32_t DRW_handle_id_get | ( | const DRWResourceHandle * | handle | ) |
Definition at line 144 of file draw_manager.h.
Referenced by draw_call_batching_do(), draw_call_resource_bind(), draw_call_single_do(), draw_select_buffer(), DRW_memblock_elem_from_handle(), drw_resource_buffer_finish(), and drw_uniform_attrs_pool_update().
BLI_INLINE void DRW_handle_increment | ( | DRWResourceHandle * | handle | ) |
Definition at line 149 of file draw_manager.h.
Referenced by draw_unit_state_create(), DRW_pass_create(), and drw_resource_handle_new().
BLI_INLINE void DRW_handle_negative_scale_enable | ( | DRWResourceHandle * | handle | ) |
Definition at line 154 of file draw_manager.h.
Referenced by drw_resource_handle_new().
BLI_INLINE uint32_t DRW_handle_negative_scale_get | ( | const DRWResourceHandle * | handle | ) |
Definition at line 134 of file draw_manager.h.
Referenced by draw_call_batching_do(), and draw_call_resource_bind().
BLI_INLINE void* DRW_memblock_elem_from_handle | ( | struct BLI_memblock * | memblock, |
const DRWResourceHandle * | handle | ||
) |
Definition at line 159 of file draw_manager.h.
References BLI_memblock_elem_get(), DRW_handle_chunk_get(), and DRW_handle_id_get().
Referenced by draw_call_is_culled(), draw_legacy_matrix_update(), DRW_pass_sort_shgroup_z(), drw_resource_handle(), DRW_shgroup_call_ex(), and DRW_shgroup_create_sub().
Definition at line 76 of file draw_manager_data.c.
References ARRAY_SIZE, BLI_memblock_elem_get(), BLI_memblock_iternew(), BLI_memblock_iterstep(), DRWCommandChunk::command_type, DRWCommandChunk::command_used, DRWCommandChunk::commands, DRWData::commands, draw_call_sort(), DRW_handle_chunk_get(), DRW_handle_id_get(), DRW_RESOURCE_CHUNK_LEN, DRW_uniform_attrs_pool_flush_all(), DST, GPU_uniformbuf_create, GPU_uniformbuf_free(), GPU_uniformbuf_update(), DRWData::matrices_ubo, MEM_callocN, MEM_freeN, MEM_mallocN_aligned, MEM_recallocN, NULL, DRWData::obattrs_ubo_pool, DRWData::obinfos, DRWData::obinfos_ubo, DRWData::obmats, DRWManager::resource_handle, and DRWData::ubo_len.
Referenced by DRW_draw_select_id(), and DRW_render_instance_buffer_finish().
Definition at line 67 of file draw_manager_exec.c.
References blend(), DRWView::clip_planes_len, DRW_STATE_BLEND_ADD, DRW_STATE_BLEND_ADD_FULL, DRW_STATE_BLEND_ALPHA, DRW_STATE_BLEND_ALPHA_PREMUL, DRW_STATE_BLEND_ALPHA_UNDER_PREMUL, DRW_STATE_BLEND_BACKGROUND, DRW_STATE_BLEND_CUSTOM, DRW_STATE_BLEND_ENABLED, DRW_STATE_BLEND_MUL, DRW_STATE_BLEND_OIT, DRW_STATE_BLEND_SUB, DRW_STATE_CLIP_PLANES, DRW_STATE_CULL_BACK, DRW_STATE_CULL_FRONT, DRW_STATE_DEPTH_ALWAYS, DRW_STATE_DEPTH_EQUAL, DRW_STATE_DEPTH_GREATER, DRW_STATE_DEPTH_GREATER_EQUAL, DRW_STATE_DEPTH_LESS, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_DEPTH_TEST_ENABLED, DRW_STATE_FIRST_VERTEX_CONVENTION, DRW_STATE_IN_FRONT_SELECT, DRW_STATE_LOGIC_INVERT, DRW_STATE_PROGRAM_POINT_SIZE, DRW_STATE_SHADOW_OFFSET, DRW_STATE_STENCIL_ALWAYS, DRW_STATE_STENCIL_EQUAL, DRW_STATE_STENCIL_NEQUAL, DRW_STATE_STENCIL_TEST_ENABLED, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, DRW_STATE_WRITE_STENCIL, DRW_STATE_WRITE_STENCIL_ENABLED, DRW_STATE_WRITE_STENCIL_SHADOW_FAIL, DRW_STATE_WRITE_STENCIL_SHADOW_PASS, DST, GPU_BLEND_ADDITIVE, GPU_BLEND_ADDITIVE_PREMULT, GPU_BLEND_ALPHA, GPU_BLEND_ALPHA_PREMULT, GPU_BLEND_ALPHA_UNDER_PREMUL, GPU_BLEND_BACKGROUND, GPU_BLEND_CUSTOM, GPU_BLEND_INVERT, GPU_BLEND_MULTIPLY, GPU_BLEND_NONE, GPU_BLEND_OIT, GPU_BLEND_SUBTRACT, GPU_clip_distances(), GPU_CULL_BACK, GPU_CULL_FRONT, GPU_CULL_NONE, GPU_DEPTH_ALWAYS, GPU_DEPTH_EQUAL, GPU_DEPTH_GREATER, GPU_DEPTH_GREATER_EQUAL, GPU_DEPTH_LESS, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_range(), GPU_program_point_size(), GPU_provoking_vertex(), GPU_shadow_offset(), GPU_state_set(), GPU_STENCIL_ALWAYS, GPU_STENCIL_EQUAL, GPU_STENCIL_NEQUAL, GPU_STENCIL_NONE, GPU_STENCIL_OP_COUNT_DEPTH_FAIL, GPU_STENCIL_OP_COUNT_DEPTH_PASS, GPU_STENCIL_OP_NONE, GPU_STENCIL_OP_REPLACE, GPU_stencil_write_mask_set(), GPU_VERTEX_FIRST, GPU_VERTEX_LAST, GPU_WRITE_COLOR, GPU_WRITE_DEPTH, GPU_WRITE_STENCIL, state, DRWManager::state, DRWManager::state_lock, and DRWManager::view_active.
Referenced by draw_shgroup(), drw_draw_pass_ex(), DRW_state_reset_ex(), and DRW_transform_none().
void drw_texture_set_parameters | ( | GPUTexture * | tex, |
DRWTextureFlag | flags | ||
) |
Definition at line 49 of file draw_manager_texture.c.
References DRW_TEX_COMPARE, DRW_TEX_FILTER, DRW_TEX_MIPMAP, DRW_TEX_WRAP, GPU_texture_anisotropic_filter(), GPU_texture_compare_mode(), GPU_texture_filter_mode(), GPU_texture_generate_mipmap(), GPU_texture_mipmap_mode(), GPU_texture_wrap_mode(), NULL, and tex.
Referenced by DRW_texture_create_1d(), DRW_texture_create_2d(), DRW_texture_create_2d_array(), DRW_texture_create_3d(), DRW_texture_create_cube(), and DRW_texture_create_cube_array().
void drw_uniform_attrs_pool_update | ( | struct GHash * | table, |
struct GPUUniformAttrList * | key, | ||
DRWResourceHandle * | handle, | ||
struct Object * | ob, | ||
struct Object * | dupli_parent, | ||
struct DupliObject * | dupli_source | ||
) |
Definition at line 678 of file draw_instance_data.c.
References buffer, DRW_handle_chunk_get(), DRW_handle_id_get(), DRW_sparse_uniform_buffer_ensure_item(), drw_uniform_attribute_lookup(), drw_uniform_attrs_pool_ensure(), float(), DRWUniformAttrBuf::key, and LISTBASE_FOREACH.
Referenced by drw_resource_handle().
|
extern |
Render State: No persistent data between draw calls.
Definition at line 104 of file draw_manager.c.
Referenced by 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_debug_draw_lines(), drw_debug_draw_spheres(), DRW_debug_line_v3v3(), DRW_debug_sphere(), drw_deferred_shader_add(), drw_deferred_shader_compilation_exec(), DRW_draw_callbacks_post_scene(), DRW_draw_callbacks_pre_scene(), DRW_draw_depth_loop(), 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_fluid_ensure_flags(), DRW_fluid_ensure_range_field(), DRW_notify_view_update(), drw_notify_view_update_offscreen(), DRW_object_get_dupli(), DRW_object_get_dupli_parent(), DRW_object_is_renderable(), DRW_object_resource_id_get(), DRW_opengl_context_activate(), DRW_opengl_context_create(), DRW_opengl_context_destroy(), DRW_opengl_context_disable_ex(), DRW_opengl_context_enable(), DRW_opengl_context_enable_ex(), DRW_opengl_context_release(), DRW_opengl_render_context_disable(), DRW_opengl_render_context_enable(), DRW_pass_create(), DRW_pass_sort_shgroup_z(), 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_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_range(), drw_shgroup_create_ex(), DRW_shgroup_create_sub(), 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_opengl_render(), DRW_state_is_playback(), DRW_state_is_scene_render(), DRW_state_is_select(), DRW_state_lock(), DRW_state_reset_ex(), drw_state_set(), DRW_state_show_text(), drw_state_validate(), DRW_stats_draw(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_text_cache_ensure(), DRW_texture_pool_query_2d(), 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_pixelsize_get(), DRW_viewport_request_redraw(), DRW_viewport_screenvecs_get(), DRW_viewport_size_get(), DRW_viewport_texture_list_get(), drw_volume_object_grids_init(), drw_volume_object_mesh_init(), and use_drw_engine().