Fix: Vulkan: Use after free when switching scenes
Unreported issue introduced from recent changes. (memory leak in immediate mode) Pull Request: https://projects.blender.org/blender/blender/pulls/144116
This commit is contained in:
@@ -48,10 +48,9 @@ VKContext::~VKContext()
|
||||
surface_texture_ = nullptr;
|
||||
}
|
||||
free_resources();
|
||||
VKDevice &device = VKBackend::get().device;
|
||||
static_cast<VKImmediate *>(imm)->deinit(device);
|
||||
delete imm;
|
||||
imm = nullptr;
|
||||
VKDevice &device = VKBackend::get().device;
|
||||
device.context_unregister(*this);
|
||||
|
||||
this->process_frame_timings();
|
||||
|
||||
@@ -23,14 +23,6 @@ namespace blender::gpu {
|
||||
|
||||
static CLG_LogRef LOG = {"gpu.vulkan"};
|
||||
|
||||
void VKImmediate::deinit(VKDevice &device)
|
||||
{
|
||||
if (active_buffer_.has_value()) {
|
||||
active_buffer_->free_immediately(device);
|
||||
active_buffer_.reset();
|
||||
}
|
||||
}
|
||||
|
||||
uchar *VKImmediate::begin()
|
||||
{
|
||||
uint add_vertex = prim_type == GPU_PRIM_LINE_LOOP ? 1 : 0;
|
||||
|
||||
@@ -38,8 +38,6 @@ class VKImmediate : public Immediate {
|
||||
std::optional<VKBuffer> active_buffer_;
|
||||
|
||||
public:
|
||||
void deinit(VKDevice &device);
|
||||
|
||||
uchar *begin() override;
|
||||
void end() override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user