diff options
author | Omar Emara <mail@OmarEmara.dev> | 2022-01-31 21:06:04 +0300 |
---|---|---|
committer | Omar Emara <mail@OmarEmara.dev> | 2022-01-31 21:06:04 +0300 |
commit | 97c482ca427fcf1f174e31eeb2c6010ffd483f89 (patch) | |
tree | d1e11ef5f8c77b7a5c1a41ed1c9191003f452c59 /source/blender/draw/intern/draw_view_data.cc | |
parent | 610b67e13ba1404d9b3196950b6dbbb552869cbb (diff) | |
parent | f7b03a79065daea2677088aa707fa6711d442679 (diff) |
Merge branch 'eevee-rewrite' into viewport-compositor
Diffstat (limited to 'source/blender/draw/intern/draw_view_data.cc')
-rw-r--r-- | source/blender/draw/intern/draw_view_data.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/draw/intern/draw_view_data.cc b/source/blender/draw/intern/draw_view_data.cc index e49a9e07829..6ac6227bb2b 100644 --- a/source/blender/draw/intern/draw_view_data.cc +++ b/source/blender/draw/intern/draw_view_data.cc @@ -30,6 +30,7 @@ #include "draw_manager_text.h" +#include "draw_manager.h" #include "draw_view_data.h" using namespace blender; @@ -49,13 +50,12 @@ struct DRWViewData { Vector<ViewportEngineData *> enabled_engines; }; -/* Creates a view data with all possible engines type for this view. */ DRWViewData *DRW_view_data_create(ListBase *engine_types) { DRWViewData *view_data = new DRWViewData(); - LISTBASE_FOREACH (DrawEngineType *, type, engine_types) { + LISTBASE_FOREACH (DRWRegisteredDrawEngine *, type, engine_types) { ViewportEngineData engine = {}; - engine.engine_type = static_cast<void *>(type); + engine.engine_type = type; view_data->engines.append(engine); } return view_data; @@ -151,7 +151,7 @@ void DRW_view_data_default_lists_from_viewport(DRWViewData *view_data, GPUViewpo static void draw_viewport_engines_data_clear(ViewportEngineData *data) { - DrawEngineType *engine_type = static_cast<DrawEngineType *>(data->engine_type); + DrawEngineType *engine_type = data->engine_type->draw_engine; const DrawEngineDataSize *data_size = engine_type->vedata_size; for (int i = 0; data->fbl && i < data_size->fbl_len; i++) { @@ -220,13 +220,12 @@ void DRW_view_data_texture_list_size_validate(DRWViewData *view_data, const int } ViewportEngineData *DRW_view_data_engine_data_get_ensure(DRWViewData *view_data, - DrawEngineType *engine_type_) + DrawEngineType *engine_type) { - void *engine_type = static_cast<void *>(engine_type_); for (ViewportEngineData &engine : view_data->engines) { - if (engine.engine_type == engine_type) { + if (engine.engine_type->draw_engine == engine_type) { if (engine.fbl == nullptr) { - const DrawEngineDataSize *data_size = engine_type_->vedata_size; + const DrawEngineDataSize *data_size = engine_type->vedata_size; engine.fbl = (FramebufferList *)MEM_calloc_arrayN( data_size->fbl_len, sizeof(GPUFrameBuffer *), "FramebufferList"); engine.txl = (TextureList *)MEM_calloc_arrayN( |