Not really, I thought that since InitFromImage doesn't exist for version 1, I wasn't sure if it's a good idea to use it within CreateTexture for version 1.
Is it fine, though?. I'll use InitFromImage if it's a better approach. Besides, since they behave the same so far, there's no reason to not use it anyways.

I agree with thunking version 2's CreateTexture to version 3, I'll resend the patch for the same, after I get to know your opinion for the above question.

Cheers,
Aaryaman

On Fri, Apr 29, 2016 at 1:06 PM, Stefan Dösinger <stefandoesinger@gmail.com> wrote:

> Am 28.04.2016 um 20:17 schrieb Aaryaman Vasishta <jem456.vasishta@gmail.com>:
>
> @@ -198,13 +198,24 @@ static HRESULT WINAPI d3drm1_CreateTexture(IDirect3DRM *iface,
>     struct d3drm_texture *object;
>     HRESULT hr;
>
> -    FIXME("iface %p, image %p, texture %p partial stub.\n", iface, image, texture);
> +    TRACE("iface %p, image %p, texture %p.\n", iface, image, texture);
> +
> +    if (!d3drm_validate_image(image))
> +        return D3DRMERR_BADVALUE;
>
>     if (FAILED(hr = d3drm_texture_create(&object)))
> +    {
> +        d3drm_texture_destroy(object);
>         return hr;
> +    }
> +    object->d3drm = iface;
> +    object->initialized = TRUE;
> +    object->image = image;
>
>     *texture = &object->IDirect3DRMTexture_iface;
>
> +    IDirect3DRM_AddRef(iface);
> +
>     return D3DRM_OK;
> }
>
Is there anything wrong with calling Texture3::InitFromImage here, or even calling IDirect3DRM3::CreateTexture? in D3DRM1::CreateTexture and D3DRM2::CreateTexture?