Summary
When kp::Manager is constructed without explicit familyQueueIndices, it picks the first queue family with VK_QUEUE_COMPUTE_BIT. On iGPUs (e.g. AMD Radeon 890M) that's the universal graphics+compute family, so compute dispatches share the graphics ring and long runs freeze the desktop via GPU TDR.
Fix
Prefer a compute-only family (compute bit set, graphics bit clear) when one exists; otherwise fall back to the current behaviour. Also drop the queue priority from 1.0f to 0.0f so shared families don't starve interactive workloads.
References
Summary
When
kp::Manageris constructed without explicitfamilyQueueIndices, it picks the first queue family withVK_QUEUE_COMPUTE_BIT. On iGPUs (e.g. AMD Radeon 890M) that's the universal graphics+compute family, so compute dispatches share the graphics ring and long runs freeze the desktop via GPU TDR.Fix
Prefer a compute-only family (compute bit set, graphics bit clear) when one exists; otherwise fall back to the current behaviour. Also drop the queue priority from 1.0f to 0.0f so shared families don't starve interactive workloads.
References
Manager::createDevice()insrc/Manager.cpp