[PATCH 2/2] d3drm: Partially Implement IDirect3DRM*::LoadTexture(v2).

Aaryaman Vasishta jem456.vasishta at gmail.com
Sun Mar 27 07:17:53 CDT 2016


What should be the max. resolution for the texture? I'm getting
D3DRMERR_BADALLOC if the resolution is >= 13K x 13K @ 24bpp on my win8.1
machine with 16GB RAM. Maybe the max resolution might depend on the system?
I think setting a max resolution of 4K should be fine, I guess.

Cheers,
Aaryaman

On Sat, Mar 26, 2016 at 11:54 PM, Aaryaman Vasishta <
jem456.vasishta at gmail.com> wrote:

> Err, it's "Direct3DRM Object", instead of "Direct3DRMObject", which I
> wrote by mistake.
>
> On Sat, Mar 26, 2016 at 11:42 PM, Aaryaman Vasishta <
> jem456.vasishta at gmail.com> wrote:
>
>> Some notes:
>>
>> I played around with IDirect3DRM::CreateObject a bit, and it also returns
>> REGDB_E_CLASSNOTREG if the proper CLSID is not set. Another interesting
>> note is that passing the same CLSID that worked for CreateObject to
>> CoCreateInstance makes it fail. The SDK setup does in fact add the CLSID's
>> to the registry - it seems that the setup reads d3drm.inf, creates a couple
>> .reg files and runs that to create the registry entries. The only registry
>> entry related to d3drm which the setup adds is "Direct3DRMObject" whose
>> value is {4516EC41-8F20-11d0-9B6D-0000C0781BC3}, which matches that of
>> CLSID_CDirect3DRM.
>> I installed this SDK on my XP VM, yet the tests fail, hmm.
>>
>> I played around with different CLSCTX values as well - no luck so far.
>>
>> Cheers,
>> Aaryaman
>>
>>
>> On Sat, Mar 26, 2016 at 8:09 PM, Aaryaman Vasishta <
>> jem456.vasishta at gmail.com> wrote:
>>
>>> "regsvr32.exe d3drm.dll" returns an error saying DllRegisterServer was
>>> not found.
>>>
>>> I compiled the test below and ran it on an XP VM (which had the dx7 SDK
>>> installed) just to be sure that my native win8.1 box wasn't the issue:
>>>
>>> CoInitialize(NULL);
>>>> hr = CoCreateInstance(&CLSID_CDirect3DRM, NULL, CLSCTX_INPROC_HANDLER,
>>>> &IID_IDirect3DRM, &d3drm);
>>>> ok(hr == D3DRM_OK, "Got %#x for IID_IDirect3DRM\n", hr);
>>>> hr = CoCreateInstance(&CLSID_CDirect3DRMTexture, NULL,
>>>> CLSCTX_INPROC_HANDLER, &IID_IDirect3DRMTexture3, &texture3);
>>>> ok(hr == D3DRM_OK, "Got %#x for IID_IDirect3DRMTexture3\n", hr);
>>>>
>>>
>>> Got the following results:
>>>
>>> d3drm.c:4309: Test failed: Got 0x80040154 for IID_IDirect3DRM
>>>> d3drm.c:4311: Test failed: Got 0x80040154 for IID_IDirect3DRMTexture3
>>>>
>>>
>>>
>>> On Sat, Mar 26, 2016 at 7:55 PM, Stefan Dösinger <
>>> stefandoesinger at gmail.com> wrote:
>>>
>>>>
>>>> >> CoCreateInstance(&CLSID_CDirect3DRMTexture, NULL,
>>>> CLSCTX_INPROC_SERVER,
>>>> >> &IID_IDirect3DRMTexture3, &texture3) returns REGDB_E_CLASSNOTREG. Am
>>>> I
>>>> >> missing something?
>>>> >>
>>>> > Does it work for IDirect3DRM? It may not be supposed to work, although
>>>> > it's also possible d3drm.dll is just not properly registered.
>>>> If you copied d3drm.dll from XP you'll most likely have to register it
>>>> with regsvr32.
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20160327/f7156061/attachment.html>


More information about the wine-devel mailing list