[PATCH 5/5] d3d10/effect: Reference pool in the child effect.

Matteo Bruni matteo.mystral at gmail.com
Sun Sep 19 13:04:51 CDT 2021


On Thu, Sep 16, 2021 at 8:48 AM Nikolay Sivov <nsivov at codeweavers.com> wrote:
>
> Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
> ---
>  dlls/d3d10/d3d10_private.h |  1 +
>  dlls/d3d10/effect.c        | 41 ++++++++++++++++++++++++++++----------
>  dlls/d3d10/tests/effect.c  |  4 ----
>  3 files changed, 32 insertions(+), 14 deletions(-)

> diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c
> index c757b82a529..9436d0277f2 100644
> --- a/dlls/d3d10/effect.c
> +++ b/dlls/d3d10/effect.c

> @@ -8446,7 +8457,17 @@ HRESULT WINAPI D3D10CreateEffectFromMemory(void *data, SIZE_T data_size, UINT fl
>      if (!(flags & D3D10_EFFECT_COMPILE_CHILD_EFFECT) != !effect_pool)
>          return E_INVALIDARG;
>
> -    if (FAILED(hr = d3d10_create_effect(data, data_size, device, &d3d10_effect_vtbl, &object)))
> +    if (effect_pool)
> +    {
> +        pool = effect_pool->lpVtbl->AsEffect(effect_pool);
> +        if (pool->lpVtbl != &d3d10_effect_pool_effect_vtbl)
> +        {
> +            WARN("External pool implementations are not supported.\n");
> +            return E_INVALIDARG;
> +        }
> +    }

Any idea if that's something that native allows?



More information about the wine-devel mailing list