<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">The compute memory pool used by the gallium r600 driver seems to be problematic. The pool looks to be a single radeon buffer object. There could be multiple maps set up into that single buffer object. If there is a need to grow the pool,
then the resource associated with the buffer object is destroyed, which results in all of the maps for that buffer object also being destroyed. When the new larger pool is created, the pointers that the application has to the mapped region are no longer valid.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">A temporary work-around would appear to be to make sure that the buffer pool is large enough that there isn’t a need to grow the pool once any maps into it are created. A longer term solution seems much harder. Even if the maps could
all be precisely recreated into the newly allocated buffer object, there would be a period of time when the pointers held by the application would be invalid.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:6.0pt;text-autospace:none"><span style="font-size:12.0pt;font-family:"Arial","sans-serif";color:#003E69">John Hrustich<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#003E69">LM Master Software Architect, Mission Systems and Training<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom:6.0pt;text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#003E69">Lockheed Martin Corporation<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#58595B">1801 State Route 17C, Mail Drop 0220, Owego, NY 13827<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#58595B">O
</span></b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#58595B">607-751-4206 |
<b>E </b>John.Hrustich@lmco.com<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in">
<b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#003E69">100 Years of Accelerating Tomorrow</span></b><span style="font-size:10.0pt"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>