Revert "Fix T89204: slow repeated rendering with GPUOffscreen.draw_view3d"

This reverts commit d03b26edbd. There is some
refresh issue that needs to be solved before this can be enabled.
This commit is contained in:
2021-06-17 02:06:26 +02:00
parent 845f4cebad
commit c73be23e17
2 changed files with 1 additions and 18 deletions

View File

@@ -44,7 +44,6 @@
#include "GPU_context.h" #include "GPU_context.h"
#include "GPU_framebuffer.h" #include "GPU_framebuffer.h"
#include "GPU_texture.h" #include "GPU_texture.h"
#include "GPU_viewport.h"
#include "ED_view3d.h" #include "ED_view3d.h"
#include "ED_view3d_offscreen.h" #include "ED_view3d_offscreen.h"
@@ -343,10 +342,6 @@ static PyObject *pygpu_offscreen_draw_view3d(BPyGPUOffScreen *self, PyObject *ar
GPU_offscreen_bind(self->ofs, true); GPU_offscreen_bind(self->ofs, true);
if (!self->viewport) {
self->viewport = GPU_viewport_create();
}
ED_view3d_draw_offscreen(depsgraph, ED_view3d_draw_offscreen(depsgraph,
scene, scene,
v3d->shading.type, v3d->shading.type,
@@ -362,7 +357,7 @@ static PyObject *pygpu_offscreen_draw_view3d(BPyGPUOffScreen *self, PyObject *ar
false, false,
true, true,
self->ofs, self->ofs,
self->viewport); NULL);
GPU_offscreen_unbind(self->ofs, true); GPU_offscreen_unbind(self->ofs, true);
@@ -383,10 +378,6 @@ static PyObject *pygpu_offscreen_free(BPyGPUOffScreen *self)
{ {
BPY_GPU_OFFSCREEN_CHECK_OBJ(self); BPY_GPU_OFFSCREEN_CHECK_OBJ(self);
if (self->viewport) {
GPU_viewport_free(self->viewport);
self->viewport = NULL;
}
GPU_offscreen_free(self->ofs); GPU_offscreen_free(self->ofs);
self->ofs = NULL; self->ofs = NULL;
Py_RETURN_NONE; Py_RETURN_NONE;
@@ -395,9 +386,6 @@ static PyObject *pygpu_offscreen_free(BPyGPUOffScreen *self)
static void BPyGPUOffScreen__tp_dealloc(BPyGPUOffScreen *self) static void BPyGPUOffScreen__tp_dealloc(BPyGPUOffScreen *self)
{ {
if (self->viewport) {
GPU_viewport_free(self->viewport);
}
if (self->ofs) { if (self->ofs) {
GPU_offscreen_free(self->ofs); GPU_offscreen_free(self->ofs);
} }
@@ -468,7 +456,6 @@ PyObject *BPyGPUOffScreen_CreatePyObject(GPUOffScreen *ofs)
self = PyObject_New(BPyGPUOffScreen, &BPyGPUOffScreen_Type); self = PyObject_New(BPyGPUOffScreen, &BPyGPUOffScreen_Type);
self->ofs = ofs; self->ofs = ofs;
self->viewport = NULL;
return (PyObject *)self; return (PyObject *)self;
} }

View File

@@ -26,12 +26,8 @@ extern PyTypeObject BPyGPUOffScreen_Type;
#define BPyGPUOffScreen_Check(v) (Py_TYPE(v) == &BPyGPUOffScreen_Type) #define BPyGPUOffScreen_Check(v) (Py_TYPE(v) == &BPyGPUOffScreen_Type)
struct GPUOffscreen;
struct GPUViewport;
typedef struct BPyGPUOffScreen { typedef struct BPyGPUOffScreen {
PyObject_HEAD struct GPUOffScreen *ofs; PyObject_HEAD struct GPUOffScreen *ofs;
struct GPUViewport *viewport;
} BPyGPUOffScreen; } BPyGPUOffScreen;
PyObject *BPyGPUOffScreen_CreatePyObject(struct GPUOffScreen *ofs) ATTR_NONNULL(1); PyObject *BPyGPUOffScreen_CreatePyObject(struct GPUOffScreen *ofs) ATTR_NONNULL(1);