Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.6, 6.7
-
None
-
-
708b851eb (dev), 46cebd024 (6.7)
Description
The attached example makes RHI abort in a debug build.
ASSERT: "poolIndex >= 0 && rhi->resUpdPool[poolIndex] == q" in file /Users/philip/qt6/qtbase/src/gui/rhi/qrhi.cpp, line 9059
Checkout the code that makes it fail:
https://github.com/vpicaver/Qt3D_compute_particles_cpp
From my investigation, when Qt3D switches rendering pass between compute and graphics pass, it double frees the compute resources. I've uploaded a patch that fixes this double free. I'm not sure if patch is correct way to fix it.