|
Blender V4.3
|
#include <cstddef>#include "IMB_imbuf.hh"#include "IMB_imbuf_types.hh"#include "IMB_allocimbuf.hh"#include "IMB_colormanagement_intern.hh"#include "IMB_filetype.hh"#include "IMB_metadata.hh"#include "imbuf.hh"#include "MEM_guardedalloc.h"#include "BLI_threads.h"#include "BLI_utildefines.h"#include "GPU_texture.hh"Go to the source code of this file.
Functions | |
| void | imb_refcounter_lock_init () |
| void | imb_refcounter_lock_exit () |
| void | imb_mmap_lock_init () |
| void | imb_mmap_lock_exit () |
| void | imb_mmap_lock () |
| void | imb_mmap_unlock () |
| template<class BufferType > | |
| static void | imb_free_buffer (BufferType &buffer) |
| static void | imb_free_dds_buffer (DDSData &dds_data) |
| template<class BufferType > | |
| bool | imb_alloc_buffer (BufferType &buffer, const uint x, const uint y, const uint channels, const size_t type_size, bool initialize_pixels) |
| template<class BufferType > | |
| void | imb_make_writeable_buffer (BufferType &buffer) |
| template<class BufferType > | |
| auto | imb_steal_buffer_data (BufferType &buffer) -> decltype(BufferType::data) |
| void | imb_freemipmapImBuf (ImBuf *ibuf) |
| void | imb_freerectfloatImBuf (ImBuf *ibuf) |
| void | imb_freerectImBuf (ImBuf *ibuf) |
| static void | freeencodedbufferImBuf (ImBuf *ibuf) |
| void | imb_freerectImbuf_all (ImBuf *ibuf) |
| void | IMB_free_gpu_textures (ImBuf *ibuf) |
| void | IMB_freeImBuf (ImBuf *ibuf) |
| void | IMB_refImBuf (ImBuf *ibuf) |
| ImBuf * | IMB_makeSingleUser (ImBuf *ibuf) |
| bool | imb_addencodedbufferImBuf (ImBuf *ibuf) |
| bool | imb_enlargeencodedbufferImBuf (ImBuf *ibuf) |
| void * | imb_alloc_pixels (uint x, uint y, uint channels, size_t typesize, bool initialize_pixels, const char *alloc_name) |
| bool | imb_addrectfloatImBuf (ImBuf *ibuf, const uint channels, bool initialize_pixels) |
| bool | imb_addrectImBuf (ImBuf *ibuf, bool initialize_pixels) |
| uint8_t * | IMB_steal_byte_buffer (ImBuf *ibuf) |
| float * | IMB_steal_float_buffer (ImBuf *ibuf) |
| uint8_t * | IMB_steal_encoded_buffer (ImBuf *ibuf) |
| void | IMB_make_writable_byte_buffer (ImBuf *ibuf) |
| void | IMB_make_writable_float_buffer (ImBuf *ibuf) |
| void | IMB_assign_byte_buffer (ImBuf *ibuf, uint8_t *buffer_data, const ImBufOwnership ownership) |
| void | IMB_assign_float_buffer (ImBuf *ibuf, float *buffer_data, const ImBufOwnership ownership) |
| void | IMB_assign_byte_buffer (ImBuf *ibuf, const ImBufByteBuffer &buffer, const ImBufOwnership ownership) |
| void | IMB_assign_float_buffer (ImBuf *ibuf, const ImBufFloatBuffer &buffer, const ImBufOwnership ownership) |
| void | IMB_assign_dds_data (ImBuf *ibuf, const DDSData &data, const ImBufOwnership ownership) |
| ImBuf * | IMB_allocFromBufferOwn (uint8_t *byte_buffer, float *float_buffer, uint w, uint h, uint channels) |
| ImBuf * | IMB_allocFromBuffer (const uint8_t *byte_buffer, const float *float_buffer, uint w, uint h, uint channels) |
| ImBuf * | IMB_allocImBuf (uint x, uint y, uchar planes, uint flags) |
| bool | IMB_initImBuf (ImBuf *ibuf, uint x, uint y, uchar planes, uint flags) |
| ImBuf * | IMB_dupImBuf (const ImBuf *ibuf1) |
| size_t | IMB_get_rect_len (const ImBuf *ibuf) |
| Get the length of the rect of the given image buffer in terms of pixels. | |
| size_t | IMB_get_size_in_memory (ImBuf *ibuf) |
Variables | |
| static SpinLock | refcounter_spin |
| static SpinLock | mmap_spin |
|
static |
Definition at line 216 of file allocimbuf.cc.
References ImBuf::encoded_buffer, ImBuf::encoded_buffer_size, ImBuf::encoded_size, ImBuf::flags, and imb_free_buffer().
Referenced by imb_addencodedbufferImBuf(), and imb_freerectImbuf_all().
| bool imb_addencodedbufferImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 307 of file allocimbuf.cc.
References ImBuf::encoded_buffer, ImBuf::encoded_buffer_size, ImBuf::encoded_size, ImBuf::flags, freeencodedbufferImBuf(), IB_mem, and imb_alloc_buffer().
Referenced by IMB_dupImBuf(), blender::imbuf::imb_oiio_write(), and imb_save_openexr().
Definition at line 382 of file allocimbuf.cc.
References channels(), ImBuf::channels, ImBufFloatBuffer::data, ImBuf::flags, ImBuf::float_buffer, IB_rectfloat, imb_alloc_buffer(), imb_freerectfloatImBuf(), ImBuf::x, and ImBuf::y.
Referenced by IMB_dupImBuf(), IMB_ImBufFromStereo3d(), IMB_initImBuf(), imb_load_openexr(), IMB_stereo3d_ImBuf(), seq_imbuf_to_sequencer_space(), ubuf_ensure_compat_ibuf(), and blender::render::Context::viewer_output_to_viewer_image().
| bool imb_addrectImBuf | ( | ImBuf * | ibuf, |
| bool | initialize_pixels ) |
Definition at line 407 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBuf::flags, IB_rect, imb_alloc_buffer(), imb_free_buffer(), ImBuf::x, and ImBuf::y.
Referenced by colormanagement_imbuf_make_display_space(), IMB_ImBufFromStereo3d(), IMB_initImBuf(), imb_loadwebp(), imb_onehalf_no_alloc(), IMB_rect_from_float(), IMB_stereo3d_ImBuf(), blender::compositor::PreviewOperation::init_execution(), blender::bke::node_preview_verify(), and ubuf_ensure_compat_ibuf().
| bool imb_alloc_buffer | ( | BufferType & | buffer, |
| const uint | x, | ||
| const uint | y, | ||
| const uint | channels, | ||
| const size_t | type_size, | ||
| bool | initialize_pixels ) |
Definition at line 111 of file allocimbuf.cc.
References IB_TAKE_OWNERSHIP, and imb_alloc_pixels().
Referenced by imb_addencodedbufferImBuf(), imb_addrectfloatImBuf(), imb_addrectImBuf(), IMB_allocFromBuffer(), and imb_enlargeencodedbufferImBuf().
| void * imb_alloc_pixels | ( | unsigned int | x, |
| unsigned int | y, | ||
| unsigned int | channels, | ||
| size_t | typesize, | ||
| bool | initialize_pixels, | ||
| const char * | alloc_name ) |
Exported for image tools in blender, to quickly allocate 32 bits rect.
Definition at line 369 of file allocimbuf.cc.
References MEM_callocN, MEM_mallocN, and SIZE_MAX.
Referenced by convertRGBAToLogElement(), imb_alloc_buffer(), logImageGetDataRGBA(), and logImageSetDataRGBA().
| ImBuf * IMB_allocFromBuffer | ( | const uint8_t * | byte_buffer, |
| const float * | float_buffer, | ||
| unsigned int | w, | ||
| unsigned int | h, | ||
| unsigned int | channels ) |
Create a copy of a pixel buffer and wrap it to a new ImBuf
Definition at line 544 of file allocimbuf.cc.
References ImBuf::byte_buffer, channels(), ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, imb_alloc_buffer(), IMB_allocImBuf(), and w().
| ImBuf * IMB_allocFromBufferOwn | ( | uint8_t * | byte_buffer, |
| float * | float_buffer, | ||
| unsigned int | w, | ||
| unsigned int | h, | ||
| unsigned int | channels ) |
Create a copy of a pixel buffer and wrap it to a new ImBuf (transferring ownership to the in imbuf).
Definition at line 518 of file allocimbuf.cc.
References BLI_assert, channels(), ImBuf::channels, IB_TAKE_OWNERSHIP, IMB_allocImBuf(), IMB_assign_byte_buffer(), IMB_assign_float_buffer(), MEM_allocN_len, and w().
Referenced by blend_file_thumb_from_screenshot(), and studiolight_load_equirect_image().
Definition at line 576 of file allocimbuf.cc.
References IMB_freeImBuf(), and IMB_initImBuf().
Referenced by IMB_allocFromBuffer(), IMB_allocFromBufferOwn(), and IMB_dupImBuf().
| void IMB_assign_byte_buffer | ( | ImBuf * | ibuf, |
| const ImBufByteBuffer & | buffer, | ||
| ImBufOwnership | ownership ) |
Assign the content and the color space of the corresponding buffer the data from the given buffer.
Definition at line 492 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::colorspace, ImBufByteBuffer::data, and IMB_assign_byte_buffer().
| void IMB_assign_byte_buffer | ( | ImBuf * | ibuf, |
| uint8_t * | buffer_data, | ||
| ImBufOwnership | ownership ) |
Assign the content of the corresponding buffer with the given data and ownership. The current content of the buffer is released corresponding to its ownership configuration.
Definition at line 466 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBuf::flags, IB_rect, imb_free_buffer(), and ImBufByteBuffer::ownership.
Referenced by colormanage_cache_put(), blender::realtime_compositor::compute_linear_buffer(), image_undo_steal_and_assign_byte_buffer(), IMB_allocFromBufferOwn(), IMB_assign_byte_buffer(), paint_2d_do_making_brush(), RE_render_result_rect_from_ibuf(), RE_render_result_rect_to_ibuf(), render_result_rect_fill_zero(), scale_with_function(), and screenshot_exec().
| void IMB_assign_dds_data | ( | ImBuf * | ibuf, |
| const DDSData & | data, | ||
| const ImBufOwnership | ownership ) |
Definition at line 508 of file allocimbuf.cc.
References BLI_assert, data, ImBuf::dds_data, ImBuf::ftype, imb_free_dds_buffer(), IMB_FTYPE_DDS, and DDSData::ownership.
Referenced by blender::realtime_compositor::compute_linear_buffer().
| void IMB_assign_float_buffer | ( | ImBuf * | ibuf, |
| const ImBufFloatBuffer & | buffer, | ||
| const ImBufOwnership | ownership ) |
Definition at line 500 of file allocimbuf.cc.
References ImBufFloatBuffer::colorspace, ImBufFloatBuffer::data, ImBuf::float_buffer, and IMB_assign_float_buffer().
| void IMB_assign_float_buffer | ( | ImBuf * | ibuf, |
| float * | buffer_data, | ||
| const ImBufOwnership | ownership ) |
Definition at line 479 of file allocimbuf.cc.
References ImBufFloatBuffer::data, ImBuf::flags, ImBuf::float_buffer, IB_rectfloat, imb_free_buffer(), and ImBufFloatBuffer::ownership.
Referenced by blender::realtime_compositor::FileOutput::add_pass(), blender::realtime_compositor::FileOutput::add_view(), BKE_brush_gen_radial_control_imbuf(), BKE_movieclip_convert_multilayer_ibuf(), blender::draw::image_engine::FloatBufferCache::cached_float_buffer(), blender::realtime_compositor::compute_linear_buffer(), blender::compositor::CompositorOperation::deinit_execution(), float_image_to_ibuf(), image_undo_steal_and_assign_float_buffer(), IMB_allocFromBufferOwn(), IMB_assign_float_buffer(), IMB_float_from_rect(), make_grayscale_ibuf_copy(), blender::render::Context::output_to_render_result(), paint_2d_do_making_brush(), RE_pass_set_buffer_data(), RE_render_result_rect_from_ibuf(), RE_render_result_rect_to_ibuf(), render_layer_allocate_pass(), scale_with_function(), and shader_preview_texture().
Definition at line 625 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBuf::colormanage_cache, ImBufByteBuffer::colorspace, ImBufFloatBuffer::colorspace, DDSData::data, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::dds_data, ImBuf::display_buffer_flags, ImBuf::encoded_buffer, ImBuf::encoded_buffer_size, ImBuf::encoded_size, ImBuf::float_buffer, ImBuf::gpu, IB_rect, IB_uninitialized_pixels, imb_addencodedbufferImBuf(), imb_addrectfloatImBuf(), IMB_allocImBuf(), IMB_freeImBuf(), IMB_MIPMAP_LEVELS, ImBuf::metadata, ImBuf::mipmap, ImBuf::planes, ImBuf::refcounter, ImBufGPU::texture, ImBuf::x, x, ImBuf::y, and y.
Referenced by accessor_get_ibuf(), BKE_image_preview(), BKE_tracking_distortion_exec(), blend_file_thumb_from_camera(), blend_file_thumb_from_screenshot(), brush_copy_data(), do_render_sequencer(), do_render_strip_uncached(), do_speed_effect(), duplicate_render_pass(), duplicate_render_view(), icon_copy_rect(), image_save_single(), IMB_half_x(), IMB_half_y(), IMB_makeSingleUser(), imbuf_ensure_editable(), Freestyle::Canvas::loadMap(), movieclip_build_proxy_ibuf(), blender::bke::node_preview_copy(), postprocess_frame(), py_imbuf_copy(), RE_DuplicateRenderResult(), RE_render_result_rect_to_ibuf(), screen_opengl_render_doit(), seq_proxy_build_frame(), sequencer_calc_scopes(), sequencer_make_scope(), and UI_tooltip_image_field_add().
| bool imb_enlargeencodedbufferImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 332 of file allocimbuf.cc.
References ImBufByteBuffer::data, ImBuf::encoded_buffer, ImBuf::encoded_buffer_size, ImBuf::encoded_size, ImBuf::flags, IB_mem, imb_alloc_buffer(), imb_free_buffer(), and printf.
Referenced by blender::imbuf::ImBufMemWriter::pwrite().
|
static |
Definition at line 69 of file allocimbuf.cc.
References IB_DO_NOT_TAKE_OWNERSHIP, IB_TAKE_OWNERSHIP, and MEM_freeN().
Referenced by freeencodedbufferImBuf(), imb_addrectImBuf(), IMB_assign_byte_buffer(), IMB_assign_float_buffer(), imb_enlargeencodedbufferImBuf(), imb_freerectfloatImBuf(), and imb_freerectImBuf().
|
static |
Definition at line 89 of file allocimbuf.cc.
References DDSData::data, free(), IB_DO_NOT_TAKE_OWNERSHIP, IB_TAKE_OWNERSHIP, and DDSData::ownership.
Referenced by IMB_assign_dds_data(), and IMB_freeImBuf().
| void IMB_free_gpu_textures | ( | ImBuf * | ibuf | ) |
Definition at line 237 of file allocimbuf.cc.
References ImBuf::gpu, GPU_texture_free(), and ImBufGPU::texture.
Referenced by IMB_freeImBuf(), and render_result_free_gpu_texture_caches().
| void IMB_freeImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 247 of file allocimbuf.cc.
References BLI_assert_msg, BLI_spin_lock(), BLI_spin_unlock(), colormanage_cache_free(), ImBuf::dds_data, ImBuf::filepath, imb_free_dds_buffer(), IMB_free_gpu_textures(), imb_freerectImbuf_all(), IMB_metadata_free(), MEM_freeN(), ImBuf::metadata, ImBuf::refcounter, and refcounter_spin.
Referenced by IMB_allocImBuf(), IMB_dupImBuf(), imb_freemipmapImBuf(), and IMB_makeSingleUser().
| void imb_freemipmapImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 174 of file allocimbuf.cc.
References IMB_freeImBuf(), IMB_MIPMAP_LEVELS, ImBuf::mipmap, and ImBuf::miptot.
Referenced by finish_images(), imb_freerectfloatImBuf(), imb_freerectImBuf(), IMB_makemipmap(), and blender::ed::object::write_internal_bake_pixels().
| void imb_freerectfloatImBuf | ( | ImBuf * | ibuf | ) |
Any free ibuf->rect frees mipmaps to be sure, creation is in render on first request.
Definition at line 190 of file allocimbuf.cc.
References ImBuf::flags, ImBuf::float_buffer, imb_free_buffer(), and imb_freemipmapImBuf().
Referenced by image_save_post(), imb_addrectfloatImBuf(), imb_freerectImbuf_all(), IMB_thumb_manage(), project_paint_end(), RE_render_result_rect_from_ibuf(), scale_with_function(), screen_opengl_render_doit(), thumb_create_ex(), ubuf_ensure_compat_ibuf(), and blender::render::Context::viewer_output_to_viewer_image().
| void imb_freerectImBuf | ( | ImBuf * | ibuf | ) |
Any free ibuf->rect frees mipmaps to be sure, creation is in render on first request.
Definition at line 203 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBuf::flags, imb_free_buffer(), and imb_freemipmapImBuf().
Referenced by BKE_tracking_distortion_exec(), colormanage_imbuf_make_linear(), image_save_post(), IMB_colormanagement_imbuf_for_write(), imb_freerectImbuf_all(), input_preprocess(), blender::seq::make_thumb_for_image(), project_paint_end(), RE_render_result_rect_from_ibuf(), scale_with_function(), seq_imbuf_to_sequencer_space(), seq_render_image_strip_view(), seq_render_movie_strip_view(), blender::render::Context::viewer_output_to_viewer_image(), and WM_clipboard_image_set().
| void imb_freerectImbuf_all | ( | ImBuf * | ibuf | ) |
Free all CPU pixel data (associated with image size).
Definition at line 230 of file allocimbuf.cc.
References freeencodedbufferImBuf(), imb_freerectfloatImBuf(), and imb_freerectImBuf().
Referenced by IMB_freeImBuf(), and ubuf_ensure_compat_ibuf().
| size_t IMB_get_rect_len | ( | const ImBuf * | ibuf | ) |
Get the length of the rect of the given image buffer in terms of pixels.
This is the width * the height of the image buffer. This function is preferred over ibuf->x * ibuf->y due to overflow issues when working with large resolution images (30kx30k).
Definition at line 708 of file allocimbuf.cc.
References ImBuf::x, and ImBuf::y.
Referenced by IMB_color_to_bw(), IMB_float_from_rect(), IMB_saturation(), and multiply_ibuf().
| size_t IMB_get_size_in_memory | ( | ImBuf * | ibuf | ) |
Approximate size of ImBuf in memory
Definition at line 713 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, float, ImBuf::float_buffer, IMB_get_size_in_memory(), ImBuf::mipmap, ImBuf::miptot, size(), ImBuf::x, and ImBuf::y.
Referenced by frame_cache_add(), get_size_in_memory(), image_mem_size(), and IMB_get_size_in_memory().
| bool IMB_initImBuf | ( | ImBuf * | ibuf, |
| unsigned int | x, | ||
| unsigned int | y, | ||
| unsigned char | planes, | ||
| unsigned int | flags ) |
Initialize given ImBuf.
Use in cases when temporary image buffer is allocated on stack.
Definition at line 590 of file allocimbuf.cc.
References ImBuf::channels, colormanage_imbuf_set_default_spaces(), ImBuf::foptions, ImBuf::ftype, IB_rect, IB_rectfloat, IB_uninitialized_pixels, imb_addrectfloatImBuf(), imb_addrectImBuf(), IMB_DPI_DEFAULT, IMB_FTYPE_PNG, ImBuf::planes, ImBuf::ppm, ImbFormatOptions::quality, ImBuf::x, x, ImBuf::y, and y.
Referenced by IMB_allocImBuf(), and paint_2d_do_making_brush().
| void IMB_make_writable_byte_buffer | ( | ImBuf * | ibuf | ) |
Make corresponding buffers available for modification. Is achieved by ensuring that the given ImBuf is the only owner of the underlying buffer data.
Definition at line 456 of file allocimbuf.cc.
References ImBuf::byte_buffer, and imb_make_writeable_buffer().
Referenced by imbuf_ensure_editable().
| void IMB_make_writable_float_buffer | ( | ImBuf * | ibuf | ) |
Definition at line 461 of file allocimbuf.cc.
References ImBuf::float_buffer, and imb_make_writeable_buffer().
Referenced by imbuf_ensure_editable().
| void imb_make_writeable_buffer | ( | BufferType & | buffer | ) |
Definition at line 131 of file allocimbuf.cc.
References IB_DO_NOT_TAKE_OWNERSHIP, IB_TAKE_OWNERSHIP, and MEM_dupallocN.
Referenced by IMB_make_writable_byte_buffer(), and IMB_make_writable_float_buffer().
Definition at line 285 of file allocimbuf.cc.
References BLI_spin_lock(), BLI_spin_unlock(), IMB_dupImBuf(), IMB_freeImBuf(), IMB_metadata_copy(), ImBuf::refcounter, and refcounter_spin.
Referenced by input_preprocess(), and load_movie_single().
| void imb_mmap_lock | ( | ) |
Definition at line 56 of file allocimbuf.cc.
References BLI_spin_lock(), and mmap_spin.
Referenced by imb_load_filepath_thumbnail_webp(), IMB_loadifffile(), IMMapStream::IMMapStream(), and IMMapStream::~IMMapStream().
| void imb_mmap_lock_exit | ( | ) |
Definition at line 51 of file allocimbuf.cc.
References BLI_spin_end(), and mmap_spin.
Referenced by IMB_exit().
| void imb_mmap_lock_init | ( | ) |
Definition at line 46 of file allocimbuf.cc.
References BLI_spin_init(), and mmap_spin.
Referenced by IMB_init().
| void imb_mmap_unlock | ( | ) |
Definition at line 61 of file allocimbuf.cc.
References BLI_spin_unlock(), and mmap_spin.
Referenced by imb_load_filepath_thumbnail_webp(), IMB_loadifffile(), IMMapStream::IMMapStream(), and IMMapStream::~IMMapStream().
| void imb_refcounter_lock_exit | ( | ) |
Definition at line 38 of file allocimbuf.cc.
References BLI_spin_end(), and refcounter_spin.
Referenced by IMB_exit().
| void imb_refcounter_lock_init | ( | ) |
Definition at line 33 of file allocimbuf.cc.
References BLI_spin_init(), and refcounter_spin.
Referenced by IMB_init().
| void IMB_refImBuf | ( | ImBuf * | ibuf | ) |
Increase reference count to imbuf (to delete an imbuf you have to call freeImBuf as many times as it is referenced)
Definition at line 278 of file allocimbuf.cc.
References BLI_spin_lock(), BLI_spin_unlock(), ImBuf::refcounter, and refcounter_spin.
Referenced by blender::ed::space_node::all_nodes_preview_update(), BKE_image_get_first_ibuf(), BKE_image_get_ibuf_with_name(), do_moviecache_put(), get_postprocessed_cached_frame(), get_stable_cached_frame(), image_get_ibuf_multilayer(), image_get_render_result(), image_load_sequence_multilayer(), IMB_moviecache_get(), blender::ed::space_node::node_preview_acquire_ibuf(), put_postprocessed_frame_to_cache(), put_stabilized_frame_to_cache(), seq_cache_get_ex(), seq_cache_put_ex(), and blender::seq::thumbnail_cache_get().
| auto imb_steal_buffer_data | ( | BufferType & | buffer | ) | -> decltype(BufferType::data) |
Definition at line 148 of file allocimbuf.cc.
References BLI_assert_msg, BLI_assert_unreachable, data, IB_DO_NOT_TAKE_OWNERSHIP, and IB_TAKE_OWNERSHIP.
Referenced by IMB_steal_byte_buffer(), IMB_steal_encoded_buffer(), and IMB_steal_float_buffer().
Steal the buffer data pointer: the ImBuf is no longer an owner of this data.
Definition at line 430 of file allocimbuf.cc.
References ImBuf::byte_buffer, data, ImBuf::flags, and imb_steal_buffer_data().
Referenced by icon_verify_datatoc(), image_undo_steal_and_assign_byte_buffer(), imb_gpu_get_data(), and UI_icon_to_preview().
Definition at line 444 of file allocimbuf.cc.
References data, ImBuf::encoded_buffer, ImBuf::encoded_buffer_size, ImBuf::encoded_size, ImBuf::flags, and imb_steal_buffer_data().
Referenced by image_memorypack_imbuf().
Definition at line 437 of file allocimbuf.cc.
References data, ImBuf::flags, ImBuf::float_buffer, and imb_steal_buffer_data().
Referenced by blender::draw::image_engine::FloatBufferCache::cached_float_buffer(), image_undo_steal_and_assign_float_buffer(), and imb_gpu_get_data().
|
static |
Definition at line 44 of file allocimbuf.cc.
Referenced by imb_mmap_lock(), imb_mmap_lock_exit(), imb_mmap_lock_init(), and imb_mmap_unlock().
|
static |
Definition at line 31 of file allocimbuf.cc.
Referenced by IMB_freeImBuf(), IMB_makeSingleUser(), imb_refcounter_lock_exit(), imb_refcounter_lock_init(), and IMB_refImBuf().