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:
Jeroen Bakker
2025-08-07 08:56:59 +02:00
parent d441a90030
commit cd00d8ca00
3 changed files with 1 additions and 12 deletions

View File

@@ -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();

View File

@@ -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;

View File

@@ -38,8 +38,6 @@ class VKImmediate : public Immediate {
std::optional<VKBuffer> active_buffer_;
public:
void deinit(VKDevice &device);
uchar *begin() override;
void end() override;