27 bool from_viewport =
false;
30 int texture_list_size[2] = {0, 0};
32 double cache_time = 0.0;
64 GPU_framebuffer_ensure_config(&dfbl->
default_fb,
66 GPU_ATTACHMENT_TEXTURE(dtxl->depth),
67 GPU_ATTACHMENT_TEXTURE(dtxl->color),
69 GPU_framebuffer_ensure_config(&dfbl->
overlay_fb,
71 GPU_ATTACHMENT_TEXTURE(dtxl->depth),
72 GPU_ATTACHMENT_TEXTURE(dtxl->color_overlay),
76 GPU_ATTACHMENT_TEXTURE(dtxl->depth),
82 GPU_ATTACHMENT_TEXTURE(dtxl->color),
87 GPU_ATTACHMENT_TEXTURE(dtxl->color_overlay),
96 for (
int i = 0;
data->fbl && i < data_size->
fbl_len; i++) {
97 GPU_FRAMEBUFFER_FREE_SAFE(
data->fbl->framebuffers[i]);
99 for (
int i = 0;
data->txl && i < data_size->
txl_len; i++) {
102 for (
int i = 0;
data->stl && i < data_size->
stl_len; i++) {
106 if (clear_instance_data &&
data->instance_data) {
109 data->instance_data =
nullptr;
117 if (
data->text_draw_cache) {
119 data->text_draw_cache =
nullptr;
163 if (engine.
fbl ==
nullptr) {
172 data_size->
stl_len,
sizeof(
void *),
"StorageList");
207 return &view_data->
dfbl;
212 return &view_data->
dtxl;
224 if (iterator->
id >= iterator->
end) {
#define LISTBASE_FOREACH(type, var, list)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE void copy_v2_v2_int(int r[2], const int a[2])
MINLINE bool equals_v2v2_int(const int v1[2], const int v2[2]) ATTR_WARN_UNUSED_RESULT
struct GPUFrameBuffer GPUFrameBuffer
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
struct GPUTexture GPUTexture
#define GPU_TEXTURE_FREE_SAFE(texture)
GPUTexture * GPU_viewport_color_texture(GPUViewport *viewport, int view)
int GPU_viewport_active_view_get(GPUViewport *viewport)
GPUTexture * GPU_viewport_overlay_texture(GPUViewport *viewport, int view)
GPUTexture * GPU_viewport_depth_texture(GPUViewport *viewport)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void append(const T &value)
void reserve(const int64_t min_capacity)
int64_t first_index_of_try(const T &value) const
void DRW_text_cache_destroy(struct DRWTextStore *dt)
void DRW_view_data_use_engine(DRWViewData *view_data, DrawEngineType *engine_type)
ViewportEngineData * DRW_view_data_engine_data_get_ensure(DRWViewData *view_data, DrawEngineType *engine_type)
ViewportEngineData * DRW_view_data_enabled_engine_iter_step(DRWEngineIterator *iterator)
DRWViewData * DRW_view_data_create(ListBase *engine_types)
static void draw_view_data_clear(DRWViewData *view_data, bool free_instance_data)
void DRW_view_data_free(DRWViewData *view_data)
DefaultTextureList * DRW_view_data_default_texture_list_get(DRWViewData *view_data)
void DRW_view_data_default_lists_from_viewport(DRWViewData *view_data, GPUViewport *viewport)
double * DRW_view_data_cache_time_get(DRWViewData *view_data)
void DRW_view_data_enabled_engine_iter_begin(DRWEngineIterator *iterator, DRWViewData *view_data)
DefaultFramebufferList * DRW_view_data_default_framebuffer_list_get(DRWViewData *view_data)
static void draw_viewport_engines_data_clear(ViewportEngineData *data, bool clear_instance_data)
void DRW_view_data_texture_list_size_validate(DRWViewData *view_data, const int size[2])
void DRW_view_data_reset(DRWViewData *view_data)
void DRW_view_data_free_unused(DRWViewData *view_data)
struct DRWViewData DRWViewData
void *(* MEM_calloc_arrayN)(size_t len, size_t size, const char *str)
ViewportEngineData ** engines
DrawEngineType * draw_engine
Vector< ViewportEngineData * > enabled_engines
DefaultFramebufferList dfbl
Vector< ViewportEngineData > engines
struct GPUFrameBuffer * overlay_only_fb
struct GPUFrameBuffer * in_front_fb
struct GPUFrameBuffer * depth_only_fb
struct GPUFrameBuffer * overlay_fb
struct GPUFrameBuffer * default_fb
struct GPUFrameBuffer * color_only_fb
struct GPUTexture * depth
struct GPUTexture * depth_in_front
struct GPUTexture * color_overlay
struct GPUTexture * color
void(* instance_free)(void *instance_data)
const DrawEngineDataSize * vedata_size
struct DRWRegisteredDrawEngine * engine_type