<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/121944/">https://git.reviewboard.kde.org/r/121944/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On January 12th, 2015, 12:01 p.m. UTC, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What are the steps to trigger the crash? I haven't rebuilt Krita from 2.9ß since a bit before the holidays, and switching OpenGL off and back on with an image loaded in the editor works fine for me on OS X 10.9.5 with Intel HD3000 graphics.</p></pre>
</blockquote>
<p>On January 12th, 2015, 12:11 p.m. UTC, <b>Stefano Bonicatti</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The crash is known to happend on AMD cards and proprietary drivers (if on linux) only.
The crash should either happen when switching off OpenGL or changing scaling mode.</p></pre>
</blockquote>
<p>On January 12th, 2015, 12:32 p.m. UTC, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">OK. Is there any reason to expect that your patch introduces a regression on other OSes (esp. OS X)? I won't have time to sync and rebuild Calligra for about a week.</p></pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Unfortunately i don't know for sure, when dealing with video drivers anything can happen.
With my patch i enforced the correct usage of the contexts, but for instance this issue should've happened on ALL drivers, because creating shaders in one context and deleting them from another is clearly wrong.
So either they have some check for this and fix it in some way internally, or hide the problem, or the context was the correct one when deleting.</p></pre>
<br />
<p>- Stefano</p>
<br />
<p>On January 12th, 2015, 10:59 a.m. UTC, Stefano Bonicatti wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for Calligra.</div>
<div>By Stefano Bonicatti.</div>
<p style="color: grey;"><i>Updated Jan. 12, 2015, 10:59 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
calligra
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The wrong context was active when shaders were deleted.
This also fix the crash when switching scaling mode or anything that deletes a KisOpenGLCanvas2.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Changed the KisOpenGL API that deal with contexts a bit, now is possible to choose between switching on the shared context or a widget one.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">To avoid overhead switching on a context that is already current, i've added a check to see if the context we are trying to switch to is already current or not (the check doesn't use any gpu command).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This should make everything still work on all others cards and drivers, though it is better to be tested, so i put it here.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This patch is now present on branch origin/krita-testing-bonicatti.</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Tested on Linux on ATI Radeon HD5850 1GB with proprietary drivers (where the issue was present). OpenGL version string: 4.4.12968 Compatibility Profile Context 14.201.1006.1002</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>krita/plugins/extensions/dockers/lut/ocio_display_filter.cpp <span style="color: grey">(4c3b9c7)</span></li>
<li>krita/ui/canvas/kis_canvas2.cpp <span style="color: grey">(22dd4b3)</span></li>
<li>krita/ui/opengl/kis_opengl.h <span style="color: grey">(7f68f6b)</span></li>
<li>krita/ui/opengl/kis_opengl.cpp <span style="color: grey">(1c49f37)</span></li>
<li>krita/ui/opengl/kis_opengl_canvas2.cpp <span style="color: grey">(154ab4f)</span></li>
<li>krita/ui/opengl/kis_opengl_image_textures.cpp <span style="color: grey">(47eaf55)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/121944/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>