ImageTexture
created from thread leaks memory on Compatibility
renderer
#92432
Labels
Milestone
ImageTexture
created from thread leaks memory on Compatibility
renderer
#92432
Tested versions
Reproducible in: v4.3.dev3.official [36e943b], v4.3.dev4.official [df78c06], v4.3.dev5.official [89f70e9], v4.3.dev6.official [89850d5]
Not reproducible in: v4.2.2.stable.official [15073af], v4.3.dev1.official [9d1cbab], v4.3.dev2.official [3524346]
System information
Godot v4.3.dev6 - Windows 10.0.19045 - GLES3 (Compatibility) - NVIDIA GeForce RTX 3070 (NVIDIA; 31.0.15.4633) - AMD Ryzen 9 7900X 12-Core Processor (24 Threads)
Issue description
When creating an
ImageTexture
on a subthread while using the Compatibility renderer, the underlying data isn't properly freed when the resource goes away. As best as I can tell, this issue first appeared in v4.3.dev3 and is still present as of v4.3.dev6.Additionally, loading the
Image
into memory on the subthread, then creating anImageTexture
using it on the main thread does not exhibit the same leaky behavior. (I am aware of the warnings against interacting with the GPU on a subthread, so I know that's probably the "correct" way to do this, but still.)Compatibility:
Forward+:
Steps to reproduce
Image
data that isn't getting freed.enable_thread
at the top ofmain.gd
to false also causes memory usage to remain flat, as expected.Minimal reproduction project (MRP)
image-memory-leak.zip
The text was updated successfully, but these errors were encountered: