<d1b2>
<azonenberg> i'm chasing a validation bug that appears to be caused by trying to tone map and rasterize the same waveform simultaneously in different threads
<d1b2>
<azonenberg> but i have a mutex that is explicitly intended to prevent this from happening
<d1b2>
<azonenberg> and i'm trying to understand what's happening
<d1b2>
<azonenberg> the rendering is happening in WaveformThread in RenderAllWaveforms, backtrace shows us on line 169 in the queue->SubmitAndBlock() call
<d1b2>
<azonenberg> but just above on line 161 we have lock_guard<mutex> lock3(session->GetRasterizedWaveformMutex());
<d1b2>
<azonenberg> Which should prevent any attempt to touch the rasterized waveform textures we are actively writing to
<d1b2>
<azonenberg> ... waitn a minute the MainWindow thread is in lock_guard<mutex> lock(m_session.GetRasterizedWaveformMutex()); in MainWindow.cpp
<d1b2>
<azonenberg> it is blocking
<d1b2>
<azonenberg> and the error is related to the queue being used from multiple threads. the plot thickens
<_whitenotifier-1>
[scopehal] azonenberg 4301b4f - UHDBridgeSDR / ComplexSpectrogramFilter: initial support for passing center frequency as a scalar port
<_whitenotifier-1>
[scopehal] azonenberg fef28c8 - Merge branch 'master' of github.com:ngscopeclient/scopehal
<_whitenotifier-1>
[scopehal-apps] azonenberg 64928ef - Added locks to vkDeviceWaitIdle calls to prevent anything happening on other threads simultaneously
<_whitenotifier-1>
[scopehal-apps] azonenberg f35122d - Merge branch 'master' of github.com:ngscopeclient/scopehal-apps
<_whitenotifier-1>
[scopehal] azonenberg fbb7427 - Moved g_vulkanActivityMutex to scopehal from ngscopeclient so we can use it in the filter graph thread