On Sun, Jan 25, 2009 at 11:25 AM, Massimo Del Fedele <span dir="ltr">&lt;<a href="mailto:max@veneto.com">max@veneto.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Erich Hoover ha scritto:<br>
<div class="Ih2E3d">&gt;<br>
&gt; I haven&#39;t looked into your implementation in much detail (I need more<br>
&gt; hours in a day, I swear), but would it be possible to pass all the stubs<br>
&gt; on so that unimplemented functionality still works even if it&#39;s dog<br>
&gt; slow? &nbsp;It&#39;d be nice if we could take advantage of the implemented<br>
&gt; features, still be able to handle everything, and then spew a &quot;FIXME:<br>
&gt; Help Wine run faster by implementing this function in the DIB engine!&quot;<br>
&gt; for features that are not handled yet. &nbsp;(yeah, yeah, I want my cake and<br>
&gt; be able to eat it too)<br>
&gt;<br>
&gt; Erich Hoover<br>
</div>&gt; <a href="mailto:ehoover@mines.edu">ehoover@mines.edu</a> &lt;mailto:<a href="mailto:ehoover@mines.edu">ehoover@mines.edu</a>&gt;<br>
&gt;<br>
<br>
Well, by now many functions are stubbed (with disabled FIXMEs for<br>
speed), and 3 apps I&#39;ve tested on it works ok.<br>
Some bad graphics, but mostly usable.<br>
You can test it easily and, if you like, you can enable all the stubs<br>
FIXMEs uncommenting a #define on header file.<br>
<br>
Ciao<br>
<br>
Max<br>
<br></blockquote></div><br>What I was trying to say is if you could have something like this for all the stubs:<br>
----<br>
BOOL DIBDRV_AlphaBlend( DIBDRVPHYSDEV *devDst, INT xDst, INT yDst, INT widthDst, INT heightDst,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DIBDRVPHYSDEV *devSrc, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BLENDFUNCTION blendfn)<br>
{<br>
&nbsp;&nbsp;&nbsp; FIXME(&quot;reverting to slow behavior!\n&quot;);<br>
&nbsp;&nbsp;&nbsp; return TheOldBehavior-&gt;AlphaBlend(...);<br>
}<br>----<br>
<br>
While I&#39;m obviously not greatly familiar with this code, it seems like
the engine would have a better chance of being successful if
unimplemented features fell back to the old behavior.&nbsp; It seems like that would allow you to gradually transition over to the integrated DIB engine a little bit at a time, rather than having a lot of unavailable features that would all need to be implemented before the integrated DIB engine could be turned on for everyone.&nbsp; Even if you had to create a special surface and copy the bitmap back and forth every time you had to revert to the old behavior it seems like it would at least provide a good testbed.<br>
<br>Erich Hoover<br><a href="mailto:ehoover@mines.edu">ehoover@mines.edu</a><br>