<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 27, 2019 at 12:43 AM Jeff Smith <<a href="mailto:whydoubt@gmail.com">whydoubt@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 26, 2019, 9:26 AM Aaryaman Vasishta <<a href="mailto:jem456.vasishta@gmail.com" target="_blank">jem456.vasishta@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 26, 2019 at 10:13 PM Stefan Dösinger <<a href="mailto:stefandoesinger@gmail.com" rel="noreferrer" target="_blank">stefandoesinger@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Am 24.05.19 um 20:28 schrieb Jeff Smith:<br>
> I found it very odd myself, but I could not find a way to make it do<br>
> anything else, and the only documentation I found on the method just<br>
> says "Not implemented on the Windows platform."<br>
If I remember right when mentoring Aaryaman's GSoC project it only<br>
succeeded for an RGB device or something along those lines. It is quite<br>
possible though that CreateDevice fails while other ways (like<br>
CreateDeviceFromSurface, CreateDeviceFromD3D etc) succeed. This could be<br>
caused by d3drm trying to create a surface that's not supported on<br>
"modern" ddraw drivers for some reason.<br>
<br>
The interesting platform to test d3drm stuff would be Windows 9.x, and<br>
maybe Windows 2000/XP. The DLL got removed from Vista, and only ancient<br>
games use it.<br>
<br></blockquote><div>The interesting thing is that the tests are passing in 2000/XP as well.</div><div>I don't specifically remember why we skipped implementing CreateDevice earlier. I'll reply here if I do get more details about that.<br><br>By the way, which bug is CreateDevice related to?</div></div></div></blockquote></div></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I just ran across this when developing test code for other parts of d3drm that I am looking to implement.</div></div></blockquote><div><br></div><div>I see. That's good to hear :) I'm glad to see more patches coming in for d3drm ^^</div><div><br></div><div>It would be interesting to have a test which checks how CreateDevice reacts when you pass a &device which was already created elsewhere (e.g., by CreateDeviceFromSurface/Clipper).</div><div><br></div><div>FWIW, I don't recall exactly how CreateDevice worked, but one way to find out its success case is by looking at d3drm documentation which is included in DX1-7 SDK.</div><div>I currently lost my copy, but it seems like somebody had uploaded it in <a href="http://archive.org">archive.org</a>, so it may be worth checking. I'll probably take a look at it by next week, as this week is quite busy for me.</div><div>Another way is to run wine with TRACE on games that use d3drm. A useful trick is to search for bugs related to d3drm and see if any of the applications mentioned in the bug uses this method. <br></div><div><br></div><div><br></div><div><br></div><div>Cheers,<br>Aaryaman </div></div></div>