34 other.source_buffer =
nullptr;
35 other.float_buffer =
nullptr;
47 this->source_buffer = other.source_buffer;
50 other.source_buffer =
nullptr;
51 other.float_buffer =
nullptr;
78 "Expected float buffer to be scene_linear - if there are code paths where this "
79 "isn't the case we should convert those and add to the FloatBufferCache as well.");
85 if (item.source_buffer == image_buffer) {
104 buffer.is_used =
false;
111 if (item.source_buffer == image_buffer) {
121 if (!cache_[i].is_used) {
#define BLI_assert_msg(a, msg)
bool IMB_colormanagement_space_name_is_scene_linear(const char *name)
const char * IMB_colormanagement_get_float_colorspace(ImBuf *ibuf)
float * IMB_steal_float_buffer(ImBuf *ibuf)
void IMB_assign_float_buffer(ImBuf *ibuf, float *buffer_data, ImBufOwnership ownership)
void IMB_float_from_rect(ImBuf *ibuf)
Contains defines and structs used throughout the imbuf module.
void remove_and_reorder(const int64_t index)
void append(const T &value)
struct ImBuf * IMB_allocImBuf(unsigned int, unsigned int, unsigned char, unsigned int)
void IMB_freeImBuf(ImBuf *)
ImBufFloatBuffer float_buffer
Float buffer cache for image buffers.
ImBuf * cached_float_buffer(ImBuf *image_buffer)
void mark_used(const ImBuf *image_buffer)
void remove_unused_buffers()
virtual ~FloatImageBuffer()
FloatImageBuffer(FloatImageBuffer &&other) noexcept
FloatImageBuffer & operator=(FloatImageBuffer &&other) noexcept
FloatImageBuffer(ImBuf *source_buffer, ImBuf *float_buffer)