Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmar Emara <mail@OmarEmara.dev>2022-01-31 21:06:04 +0300
committerOmar Emara <mail@OmarEmara.dev>2022-01-31 21:06:04 +0300
commit97c482ca427fcf1f174e31eeb2c6010ffd483f89 (patch)
treed1e11ef5f8c77b7a5c1a41ed1c9191003f452c59 /source/blender/draw/intern/draw_view_data.cc
parent610b67e13ba1404d9b3196950b6dbbb552869cbb (diff)
parentf7b03a79065daea2677088aa707fa6711d442679 (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.cc15
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(