|
Blender
V2.93
|
#include <string.h>#include "BLI_listbase.h"#include "BLI_math_vector.h"#include "BLI_memblock.h"#include "BLI_rect.h"#include "BKE_colortools.h"#include "IMB_colormanagement.h"#include "DNA_userdef_types.h"#include "DNA_vec_types.h"#include "GPU_framebuffer.h"#include "GPU_immediate.h"#include "GPU_matrix.h"#include "GPU_texture.h"#include "GPU_uniform_buffer.h"#include "GPU_viewport.h"#include "DRW_engine.h"#include "MEM_guardedalloc.h"Go to the source code of this file.
Classes | |
| struct | ViewportTempTexture |
| struct | GPUViewportBatch |
| struct | GPUViewport |
Macros | |
| #define | MAX_ENABLE_ENGINE 8 |
| #define | MAX_ENGINE_BUFFER_SHARING 5 |
Typedefs | |
| typedef struct ViewportTempTexture | ViewportTempTexture |
Enumerations | |
| enum | { DO_UPDATE = (1 << 0) , GPU_VIEWPORT_STEREO = (1 << 1) } |
Variables | |
| static const int | default_fbl_len = (sizeof(DefaultFramebufferList)) / sizeof(void *) |
| static const int | default_txl_len = (sizeof(DefaultTextureList)) / sizeof(void *) |
| struct { | |
| GPUVertFormat format | |
| struct { | |
| uint pos | |
| uint tex_coord | |
| } attr_id | |
| } | g_viewport = {{0}} |
System that manages viewport drawing.
Definition in file gpu_viewport.c.
| #define MAX_ENABLE_ENGINE 8 |
Definition at line 54 of file gpu_viewport.c.
| #define MAX_ENGINE_BUFFER_SHARING 5 |
Definition at line 59 of file gpu_viewport.c.
| typedef struct ViewportTempTexture ViewportTempTexture |
| anonymous enum |
| Enumerator | |
|---|---|
| DO_UPDATE | |
| GPU_VIEWPORT_STEREO | |
Definition at line 121 of file gpu_viewport.c.
| void GPU_viewport_active_view_set | ( | GPUViewport * | viewport, |
| int | view | ||
| ) |
Definition at line 321 of file gpu_viewport.c.
References gpu_viewport_framebuffer_view_set(), and view.
Referenced by DRW_notify_view_update().
Definition at line 694 of file gpu_viewport.c.
References copy_v2_fl2(), g_viewport, GPU_batch_create_ex(), GPU_BATCH_OWNS_VBO, GPU_PRIM_TRI_STRIP, GPU_vertbuf_attr_get_raw_data(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertbuf_raw_step(), gpu_viewport_batch_format(), NULL, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by gpu_viewport_batch_get().
|
static |
Definition at line 682 of file gpu_viewport.c.
References g_viewport, GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by gpu_viewport_batch_create().
|
static |
Definition at line 739 of file gpu_viewport.c.
References GPUViewportBatch::batch, GPUViewport::batch, GPU_batch_discard(), and NULL.
Referenced by GPU_viewport_free().
|
static |
Definition at line 716 of file gpu_viewport.c.
References GPUViewportBatch::batch, GPUViewport::batch, BLI_rctf_compare(), GPU_batch_discard(), gpu_viewport_batch_create(), GPUViewportBatch::last_used_parameters, NULL, GPUViewportBatch::rect_pos, and GPUViewportBatch::rect_uv.
Referenced by gpu_viewport_draw_colormanaged().
| void GPU_viewport_bind | ( | GPUViewport * | viewport, |
| int | view, | ||
| const rcti * | rect | ||
| ) |
Definition at line 495 of file gpu_viewport.c.
References GPUViewport::active_view, BLI_rcti_size_x(), BLI_rcti_size_y(), copy_v2_v2_int(), data, GPUViewport::data, DefaultFramebufferList::default_fb, default_fbl_len, default_txl_len, DRW_engine_viewport_data_size_get(), DRW_opengl_context_enable(), GPUViewport::engine_data, equals_v2v2_int(), GPUViewport::fbl, gpu_viewport_buffers_free(), gpu_viewport_default_fb_create(), gpu_viewport_framebuffer_view_set(), gpu_viewport_texture_pool_clear_users(), gpu_viewport_texture_pool_free(), GPUViewport::handle, MAX_ENABLE_ENGINE, NULL, rect_size(), GPUViewport::size, GPUViewport::txl, and view.
Referenced by sequencer_ibuf_get(), and wm_draw_region_bind().
| void GPU_viewport_bind_from_offscreen | ( | GPUViewport * | viewport, |
| struct GPUOffScreen * | ofs | ||
| ) |
Definition at line 536 of file gpu_viewport.c.
References DefaultFramebufferList::default_fb, DefaultTextureList::depth, fb(), GPUViewport::fbl, GPU_offscreen_height(), GPU_offscreen_viewport_data_get(), GPU_offscreen_width(), gpu_viewport_default_fb_create(), gpu_viewport_texture_pool_clear_users(), GPUViewport::size, and GPUViewport::txl.
Referenced by DRW_draw_render_loop_offscreen().
|
static |
Definition at line 933 of file gpu_viewport.c.
References fb(), FramebufferList::framebuffers, GPU_framebuffer_free(), GPU_texture_free(), NULL, tex, and TextureList::textures.
Referenced by GPU_viewport_bind(), gpu_viewport_engines_data_free(), and GPU_viewport_free().
| void GPU_viewport_cache_release | ( | GPUViewport * | viewport | ) |
Definition at line 439 of file gpu_viewport.c.
References data, GPUViewport::data, DRW_engine_viewport_data_size_get(), GPUViewport::engine_data, gpu_viewport_passes_free(), GPUViewport::handle, MAX_ENABLE_ENGINE, and NULL.
Referenced by drw_viewport_cache_resize().
| double* GPU_viewport_cache_time_get | ( | GPUViewport * | viewport | ) |
Definition at line 351 of file gpu_viewport.c.
References GPUViewport::cache_time.
Referenced by DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), and DRW_stats_draw().
| GPUTexture* GPU_viewport_color_texture | ( | GPUViewport * | viewport, |
| int | view | ||
| ) |
Definition at line 917 of file gpu_viewport.c.
References GPUViewport::active_view, DefaultTextureList::color, DefaultTextureList::color_stereo, DefaultFramebufferList::default_fb, GPUViewport::fbl, NULL, GPUViewport::txl, and view.
Referenced by wm_draw_region_texture().
| void GPU_viewport_colorspace_set | ( | GPUViewport * | viewport, |
| ColorManagedViewSettings * | view_settings, | ||
| ColorManagedDisplaySettings * | display_settings, | ||
| float | dither | ||
| ) |
HACK(fclem): We copy the settings here to avoid use after free if an update frees the scene and the viewport stays cached (see T75443). But this means the OCIO curve-mapping caching (which is based on CurveMap pointer address) cannot operate correctly and it will create a different OCIO processor for each viewport. We try to only reallocate the curve-map copy if needed to avoid unneeded cache invalidation.
Definition at line 557 of file gpu_viewport.c.
References BKE_color_managed_display_settings_copy(), BKE_color_managed_view_settings_copy(), BKE_color_managed_view_settings_free(), BKE_curvemapping_copy(), CurveMapping::changed_timestamp, ColorManagedViewSettings::curve_mapping, GPUViewport::display_settings, GPUViewport::dither, GPUViewport::do_color_management, NULL, GPUViewport::orig_curve_mapping, and GPUViewport::view_settings.
Referenced by drw_viewport_colormanagement_set().
| GPUViewport* GPU_viewport_create | ( | void | ) |
Definition at line 144 of file gpu_viewport.c.
References GPUViewport::active_view, GPUViewport::do_color_management, DRW_instance_data_list_create(), GPUViewport::fbl, GPUViewport::idatalist, MEM_callocN, GPUViewport::size, and GPUViewport::txl.
Referenced by DRW_custom_pipeline(), DRW_draw_render_loop_offscreen(), DRW_draw_select_loop(), DRW_render_gpencil(), DRW_render_to_image(), GPU_viewport_stereo_create(), wm_draw_region_buffer_create(), and wm_xr_session_surface_offscreen_ensure().
|
static |
Definition at line 449 of file gpu_viewport.c.
References DefaultTextureList::color, DefaultFramebufferList::color_only_fb, DefaultTextureList::color_overlay, DefaultTextureList::color_overlay_stereo, DefaultTextureList::color_stereo, DefaultFramebufferList::default_fb, DefaultTextureList::depth, DefaultFramebufferList::depth_only_fb, DRW_opengl_context_disable(), GPUViewport::fbl, GPUViewport::flag, GPU_DEPTH24_STENCIL8, GPU_framebuffer_check_valid(), GPU_framebuffer_restore(), GPU_RGBA16F, GPU_SRGB8_A8, GPU_texture_create_2d(), gpu_viewport_framebuffer_view_set(), GPU_viewport_free(), GPU_VIEWPORT_STEREO, NULL, DefaultFramebufferList::overlay_fb, DefaultFramebufferList::overlay_only_fb, size(), GPUViewport::size, GPUViewport::txl, and UNPACK2.
Referenced by GPU_viewport_bind(), and GPU_viewport_bind_from_offscreen().
| bool GPU_viewport_do_update | ( | GPUViewport * | viewport | ) |
Definition at line 137 of file gpu_viewport.c.
References DO_UPDATE, GPUViewport::flag, and ret.
Referenced by wm_region_test_render_do_draw().
|
static |
Definition at line 749 of file gpu_viewport.c.
References batch, DefaultTextureList::color, DefaultTextureList::color_overlay, GPUViewport::display_settings, GPUViewport::dither, GPUViewport::do_color_management, GPU_batch_draw(), GPU_batch_program_set_builtin(), GPU_batch_program_set_imm_shader(), GPU_batch_uniform_1i, GPU_SHADER_2D_IMAGE_OVERLAYS_MERGE, GPU_texture_bind(), GPU_texture_unbind(), gpu_viewport_batch_get(), GPUBatch, IMB_colormanagement_finish_glsl_draw(), IMB_colormanagement_setup_glsl_draw_from_space(), immVertexFormat(), NULL, GPUViewport::txl, and GPUViewport::view_settings.
Referenced by GPU_viewport_draw_to_screen_ex(), and GPU_viewport_unbind_from_offscreen().
| void GPU_viewport_draw_to_screen | ( | GPUViewport * | viewport, |
| int | view, | ||
| const rcti * | rect | ||
| ) |
Merge and draw the buffers of viewport into the currently active framebuffer, performing color transform to display space.
| rect | Coordinates to draw into. By swapping min and max values, drawing can be done with inversed axis coordinates (upside down or sideways). |
Definition at line 867 of file gpu_viewport.c.
References GPU_viewport_draw_to_screen_ex(), and view.
Referenced by wm_draw_region_blit().
| void GPU_viewport_draw_to_screen_ex | ( | GPUViewport * | viewport, |
| int | view, | ||
| const rcti * | rect, | ||
| bool | display_colorspace, | ||
| bool | do_overlay_merge | ||
| ) |
Version of GPU_viewport_draw_to_screen() that lets caller decide if display colorspace transform should be performed.
Definition at line 805 of file gpu_viewport.c.
References BLI_assert, BLI_rcti_sanitize(), BLI_rcti_size_x(), BLI_rcti_size_y(), DefaultTextureList::color, DefaultFramebufferList::default_fb, GPUViewport::fbl, float(), GPU_texture_height(), GPU_texture_width(), gpu_viewport_draw_colormanaged(), gpu_viewport_framebuffer_view_set(), NULL, SWAP, GPUViewport::txl, view, w(), rctf::xmax, rcti::xmin, rctf::xmin, rctf::ymax, rcti::ymin, and rctf::ymin.
Referenced by GPU_viewport_draw_to_screen(), and wm_xr_draw_viewport_buffers_to_active_framebuffer().
| void* GPU_viewport_engine_data_create | ( | GPUViewport * | viewport, |
| void * | engine_type | ||
| ) |
Definition at line 222 of file gpu_viewport.c.
References BLI_assert, data, GPUViewport::data, DRW_engine_viewport_data_size_get(), GPUViewport::engine_data, GPUViewport::flag, GPU_VIEWPORT_STEREO, GPUViewport::handle, MAX_ENABLE_ENGINE, MEM_callocN, and NULL.
Referenced by drw_viewport_engine_data_ensure().
| void* GPU_viewport_engine_data_get | ( | GPUViewport * | viewport, |
| void * | engine_handle | ||
| ) |
Definition at line 294 of file gpu_viewport.c.
References BLI_assert, GPUViewport::data, GPUViewport::engine_data, GPUViewport::handle, MAX_ENABLE_ENGINE, and NULL.
Referenced by drw_viewport_engine_data_ensure().
|
static |
Definition at line 255 of file gpu_viewport.c.
References data, GPUViewport::data, DRW_engine_viewport_data_size_get(), DRW_text_cache_destroy(), GPUViewport::engine_data, GPUViewport::flag, gpu_viewport_buffers_free(), gpu_viewport_passes_free(), GPU_VIEWPORT_STEREO, gpu_viewport_storage_free(), gpu_viewport_texture_pool_free(), GPUViewport::handle, MAX_ENABLE_ENGINE, MEM_freeN, and NULL.
Referenced by GPU_viewport_engines_data_validate(), and GPU_viewport_free().
| bool GPU_viewport_engines_data_validate | ( | GPUViewport * | viewport, |
| void ** | engine_handle_array | ||
| ) |
Definition at line 428 of file gpu_viewport.c.
References GPUViewport::engine_data, gpu_viewport_engines_data_free(), GPUViewport::handle, and MAX_ENABLE_ENGINE.
Referenced by drw_engines_data_validate().
| GPUFrameBuffer* GPU_viewport_framebuffer_default_get | ( | GPUViewport * | viewport | ) |
Definition at line 1052 of file gpu_viewport.c.
References DefaultFramebufferList::default_fb, and GPU_viewport_framebuffer_list_get().
| void* GPU_viewport_framebuffer_list_get | ( | GPUViewport * | viewport | ) |
Definition at line 326 of file gpu_viewport.c.
References GPUViewport::fbl.
Referenced by drw_draw_depth_loop_impl(), DRW_draw_depth_object(), DRW_viewport_framebuffer_list_get(), drw_viewport_var_init(), GPU_viewport_framebuffer_default_get(), GPU_viewport_framebuffer_overlay_get(), and view3d_depth_cache_update().
| GPUFrameBuffer* GPU_viewport_framebuffer_overlay_get | ( | GPUViewport * | viewport | ) |
Definition at line 1058 of file gpu_viewport.c.
References GPU_viewport_framebuffer_list_get(), and DefaultFramebufferList::overlay_fb.
Referenced by draw_timeline_seq(), node_draw_space(), and sequencer_draw_preview().
|
static |
Definition at line 163 of file gpu_viewport.c.
References GPUViewport::active_view, DefaultTextureList::color, DefaultFramebufferList::color_only_fb, DefaultTextureList::color_overlay, DefaultTextureList::color_overlay_stereo, DefaultTextureList::color_stereo, data, GPUViewport::data, DefaultFramebufferList::default_fb, DefaultFramebufferList::depth_only_fb, GPUViewport::engine_data, GPUViewport::fbl, GPUViewport::flag, GPU_VIEWPORT_STEREO, GPUViewport::handle, MAX_ENABLE_ENGINE, NULL, DefaultFramebufferList::overlay_fb, DefaultFramebufferList::overlay_only_fb, SWAP, GPUViewport::txl, and view.
Referenced by GPU_viewport_active_view_set(), GPU_viewport_bind(), gpu_viewport_default_fb_create(), GPU_viewport_draw_to_screen_ex(), and GPU_viewport_stereo_composite().
| void GPU_viewport_free | ( | GPUViewport * | viewport | ) |
Definition at line 978 of file gpu_viewport.c.
References BKE_color_managed_view_settings_free(), BLI_memblock_destroy(), BLI_memblock_iternew(), BLI_memblock_iterstep(), ViewportMemoryPool::callbuffers, ViewportMemoryPool::commands, ViewportMemoryPool::commands_small, ViewportMemoryPool::cullstates, default_fbl_len, default_txl_len, DRW_instance_data_list_free(), DRW_uniform_attrs_pool_free(), GPUViewport::fbl, GPU_texture_free(), GPU_uniformbuf_free(), gpu_viewport_batch_free(), gpu_viewport_buffers_free(), gpu_viewport_engines_data_free(), gpu_viewport_texture_pool_free(), GPUViewport::idatalist, ViewportMemoryPool::images, ViewportMemoryPool::matrices_ubo, MEM_freeN, MEM_SAFE_FREE, NULL, ViewportMemoryPool::obattrs_ubo_pool, ViewportMemoryPool::obinfos, ViewportMemoryPool::obinfos_ubo, ViewportMemoryPool::obmats, ViewportMemoryPool::passes, ViewportMemoryPool::shgroups, tex, GPUViewport::txl, ViewportMemoryPool::ubo_len, ViewportMemoryPool::uniforms, GPUViewport::view_settings, ViewportMemoryPool::views, and GPUViewport::vmempool.
Referenced by DRW_custom_pipeline(), DRW_draw_render_loop_offscreen(), DRW_draw_select_loop(), DRW_render_gpencil(), DRW_render_to_image(), gpu_viewport_default_fb_create(), wm_draw_region_buffer_free(), wm_xr_session_surface_free_data(), and wm_xr_session_surface_offscreen_ensure().
| struct DRWInstanceDataList* GPU_viewport_instance_data_list_get | ( | GPUViewport * | viewport | ) |
Definition at line 311 of file gpu_viewport.c.
References GPUViewport::idatalist.
Referenced by drw_viewport_var_init().
| ViewportMemoryPool* GPU_viewport_mempool_get | ( | GPUViewport * | viewport | ) |
Definition at line 306 of file gpu_viewport.c.
References GPUViewport::vmempool.
Referenced by drw_viewport_var_init().
|
static |
Definition at line 972 of file gpu_viewport.c.
References PassList::passes.
Referenced by GPU_viewport_cache_release(), and gpu_viewport_engines_data_free().
| void GPU_viewport_size_get | ( | const GPUViewport * | viewport, |
| int | size[2] | ||
| ) |
Definition at line 336 of file gpu_viewport.c.
References copy_v2_v2_int(), size(), and GPUViewport::size.
Referenced by drw_viewport_var_init().
| void GPU_viewport_size_set | ( | GPUViewport * | viewport, |
| const int | size[2] | ||
| ) |
Special case, this is needed for when we have a viewport without a frame-buffer output (occlusion queries for eg) but still need to set the size since it may be used for other calculations.
Definition at line 346 of file gpu_viewport.c.
References copy_v2_v2_int(), size(), and GPUViewport::size.
Referenced by DRW_custom_pipeline(), DRW_draw_select_loop(), DRW_render_gpencil(), and DRW_render_to_image().
| void GPU_viewport_stereo_composite | ( | GPUViewport * | viewport, |
| Stereo3dFormat * | stereo_format | ||
| ) |
Definition at line 604 of file gpu_viewport.c.
References Stereo3dFormat::anaglyph_type, DefaultTextureList::color_overlay_stereo, DefaultTextureList::color_stereo, Stereo3dFormat::display_mode, ELEM, GPUViewport::fbl, Stereo3dFormat::flag, GPU_color_mask(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_framebuffer_bind(), GPU_framebuffer_restore(), GPU_matrix_identity_projection_set(), GPU_matrix_identity_set(), GPU_matrix_pop(), GPU_matrix_pop_projection(), GPU_matrix_push(), GPU_matrix_push_projection(), GPU_PRIM_TRI_STRIP, GPU_SHADER_2D_IMAGE_OVERLAYS_STEREO_MERGE, GPU_texture_bind(), GPU_texture_unbind(), GPU_vertformat_attr_add(), gpu_viewport_framebuffer_view_set(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1i(), immVertex2f(), immVertexFormat(), Stereo3dFormat::interlace_type, pos, S3D_ANAGLYPH_GREENMAGENTA, S3D_ANAGLYPH_REDCYAN, S3D_ANAGLYPH_YELLOWBLUE, S3D_DISPLAY_ANAGLYPH, S3D_DISPLAY_INTERLACE, S3D_INTERLACE_SWAP, SET_FLAG_FROM_TEST, DefaultFramebufferList::stereo_comp_fb, and GPUViewport::txl.
Referenced by wm_draw_window_offscreen().
| GPUViewport* GPU_viewport_stereo_create | ( | void | ) |
Definition at line 156 of file gpu_viewport.c.
References GPUViewport::flag, GPU_viewport_create(), and GPU_VIEWPORT_STEREO.
Referenced by wm_draw_region_buffer_create().
|
static |
Definition at line 961 of file gpu_viewport.c.
References MEM_freeN, NULL, and StorageList::storage.
Referenced by gpu_viewport_engines_data_free().
| void GPU_viewport_tag_update | ( | GPUViewport * | viewport | ) |
Definition at line 132 of file gpu_viewport.c.
References DO_UPDATE, and GPUViewport::flag.
Referenced by DRW_viewport_request_redraw().
| void* GPU_viewport_texture_list_get | ( | GPUViewport * | viewport | ) |
Definition at line 331 of file gpu_viewport.c.
References GPUViewport::txl.
Referenced by DRW_viewport_texture_list_get(), and view3d_opengl_read_Z_pixels().
|
static |
Definition at line 397 of file gpu_viewport.c.
References BLI_freelinkN(), ListBase::first, GPU_texture_free(), MAX_ENGINE_BUFFER_SHARING, ViewportTempTexture::next, NULL, GPUViewport::tex_pool, and ViewportTempTexture::user.
Referenced by GPU_viewport_bind(), and GPU_viewport_bind_from_offscreen().
|
static |
Definition at line 418 of file gpu_viewport.c.
References BLI_freelistN(), GPU_texture_free(), LISTBASE_FOREACH, and GPUViewport::tex_pool.
Referenced by GPU_viewport_bind(), gpu_viewport_engines_data_free(), and GPU_viewport_free().
| GPUTexture* GPU_viewport_texture_pool_query | ( | GPUViewport * | viewport, |
| void * | engine, | ||
| int | width, | ||
| int | height, | ||
| int | format | ||
| ) |
Try to find a texture corresponding to params into the texture pool. If no texture was found, create one and add it to the pool.
Definition at line 360 of file gpu_viewport.c.
References BLI_addtail(), GPU_texture_create_2d(), GPU_texture_depth(), GPU_texture_filter_mode(), GPU_texture_format(), GPU_texture_height(), GPU_texture_integer(), GPU_texture_width(), height, LISTBASE_FOREACH, MAX_ENGINE_BUFFER_SHARING, MEM_callocN, NULL, tex, GPUViewport::tex_pool, ViewportTempTexture::texture, ViewportTempTexture::user, and width.
Referenced by DRW_texture_pool_query_2d().
| void GPU_viewport_unbind | ( | GPUViewport * | UNUSEDviewport | ) |
Definition at line 911 of file gpu_viewport.c.
References DRW_opengl_context_disable(), and GPU_framebuffer_restore().
| void GPU_viewport_unbind_from_offscreen | ( | GPUViewport * | viewport, |
| struct GPUOffScreen * | ofs, | ||
| bool | display_colorspace, | ||
| bool | do_overlay_merge | ||
| ) |
Clear vars assigned from offscreen, so we don't free data owned by GPUOffScreen.
Definition at line 875 of file gpu_viewport.c.
References DefaultFramebufferList::default_fb, DefaultTextureList::depth, GPUViewport::fbl, GPU_DEPTH_NONE, GPU_depth_test(), GPU_offscreen_bind(), gpu_viewport_draw_colormanaged(), NULL, GPUViewport::txl, and rctf::xmin.
Referenced by DRW_draw_render_loop_offscreen().
| struct { ... } attr_id |
|
static |
Definition at line 51 of file gpu_viewport.c.
Referenced by GPU_viewport_bind(), and GPU_viewport_free().
|
static |
Definition at line 52 of file gpu_viewport.c.
Referenced by GPU_viewport_bind(), and GPU_viewport_free().
Definition at line 79 of file gpu_viewport.c.
| struct { ... } g_viewport |
Referenced by gpu_viewport_batch_create(), and gpu_viewport_batch_format().
| uint pos |
Definition at line 81 of file gpu_viewport.c.
Referenced by GPU_viewport_stereo_composite().
| uint tex_coord |
Definition at line 81 of file gpu_viewport.c.
Referenced by add_node(), and shader_preview_texture().