<div><div dir="auto">Debugging the aplication I see in my case both  vtkXOpenGLRenderWindow::CreateOffScreenWindow(int,int) and vtkXOpenGLRenderWindow::DestroyOffScreenWindow() are being called, but the latter does not reclaim the llvmpipe threads. I think this is a Mesa issue and not a VTK one.</div><div dir="auto"><br></div><div dir="auto">Regards</div><div dir="auto">Patricio </div><div dir="auto"><br></div><div dir="auto"><br></div><br><div class="gmail_quote"><div>El El vie, 23 de feb. de 2018 a las 21:36, Utkarsh Ayachit <<a href="mailto:utkarsh.ayachit@kitware.com">utkarsh.ayachit@kitware.com</a>> escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Strange coincidence! We just encountered similar issue on ParaView and<br>
it's being tracked down here:<br>
<a href="https://gitlab.kitware.com/paraview/paraview/issues/17999" rel="noreferrer" target="_blank">https://gitlab.kitware.com/paraview/paraview/issues/17999</a><br>
<br>
Utkarsh<br>
<br>
On Fri, Feb 23, 2018 at 7:06 PM, Patricio Palma C. <<a href="mailto:patriciop@gmail.com" target="_blank">patriciop@gmail.com</a>> wrote:<br>
> Thanks David.!<br>
><br>
> I’ve continued debugging and I’ve noticed my VTK code works fine with Mesa<br>
> 10.6.5 gallium 0.4 on llvmpipe (llvm 3.6)<br>
><br>
> Could it be a bug in Mesa 17.0.6 gallium 0.4 on llvmpipe (llvm 4.0) the<br>
> cause of this issue?<br>
><br>
> At this moment downgrade is not an option as I also need AVX support which<br>
> is available only from Mesa 11.1.<br>
><br>
> Should I try the latest Mesa version or is there a favorited Mesa version to<br>
> use with VTK ?<br>
><br>
> Regards<br>
> Patricio<br>
><br>
><br>
> El El jue, 22 de feb. de 2018 a las 21:03, David Gobbi<br>
> <<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>> escribió:<br>
>><br>
>> Hi Patricio,<br>
>><br>
>> The primary thing that vtkWindowToImageFilter does is call glReadPixels()<br>
>> via vtkOpenGLRenderWindow::GetPixelData().  So you can try<br>
>> debugging/profiling the vtkOpenGLRenderWindow.cxx code at the point where it<br>
>> calls glReadPixels() to see if that is where the llvmpipe threads are being<br>
>> created.<br>
>><br>
>>  - David<br>
>><br>
>><br>
>> On Thu, Feb 22, 2018 at 4:07 PM, Patricio Palma C. <<a href="mailto:patriciop@gmail.com" target="_blank">patriciop@gmail.com</a>><br>
>> wrote:<br>
>>><br>
>>> Hi All<br>
>>><br>
>>>    I’m using vtkWindowToImageFilter to export screenshots of a<br>
>>> vtkXOpenGLRenderWindow. It works, but every time a screenshot is created, 15<br>
>>> new llvmpipe threads are spawned and they are not finalized by the app. I<br>
>>> noticed this because after a while the number of threads reached the limit<br>
>>> (about 5500) and no more threads can be spawned.<br>
>>><br>
>>> This application is running linux RH 6.6 / VTK 7.1 / mesa 17.0.6<br>
>>><br>
>>><br>
>>><br>
>>> Source code extract:<br>
>>><br>
>>><br>
>>><br>
>>> vtkSmartPointer<vtkRenderer> osRenderer =<br>
>>> vtkSmartPointer<vtkRenderer>::New();<br>
>>><br>
>>> vtkSmartPointer<vtkXOpenGLRenderWindow> renWin =<br>
>>> vtkSmartPointer<vtkXOpenGLRenderWindow>::New();<br>
>>><br>
>>><br>
>>><br>
>>> renWin->SetOffScreenRendering(true);<br>
>>><br>
>>> renWin->AddRenderer(osRenderer);<br>
>>><br>
>>> renWin->SetSize(pictureSize.width(), pictureSize.height());<br>
>>><br>
>>><br>
>>><br>
>>> // copyActors from QVTKWidget2<br>
>>><br>
>>><br>
>>><br>
>>> vtkSmartPointer<vtkWindowToImageFilter> filter =<br>
>>> vtkSmartPointer<vtkWindowToImageFilter>::New();<br>
>>><br>
>>> filter->SetInput(renWin);<br>
>>><br>
>>> filter->SetInputBufferTypeToRGB();<br>
>>><br>
>>> filter->SetMagnification(1);<br>
>>><br>
>>> filter->Update();<br>
>>><br>
>>><br>
>>><br>
>>> vtkSmartPointer<vtkImageData> image = filter->GetOutput();<br>
>>><br>
>>> …<br>
>>><br>
>>> (continue using image)<br>
>>><br>
>>> At this moment I’m using an empty RenderWindow, I thought actors could<br>
>>> have a problem so I commented that out but the problem persists.<br>
>>><br>
>>> After some testing I’ve noticed that the problem arise after calling<br>
>>> filter->Update(). If this line is commented, no picture is generated but the<br>
>>> threads are finalized.<br>
>>><br>
>>> Any ideas on how can I track this issue or where should I continue<br>
>>> looking for an issue in my code?<br>
>>><br>
>>><br>
>>> Regards<br>
>>><br>
>>> Patricio<br>
>>><br>
>>> --<br>
>>> Patricio Palma C.<br>
>><br>
>><br>
> --<br>
> Patricio Palma C.<br>
><br>
> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at<br>
> <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the VTK FAQ at:<br>
> <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
><br>
> Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtkusers</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="https://vtk.org/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">https://vtk.org/mailman/listinfo/vtkusers</a><br>
><br>
</blockquote></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Patricio Palma C.</div>