[PATCH 5/5] d3d10/effect: Reference pool in the child effect.
Nikolay Sivov
nsivov at codeweavers.com
Sun Sep 19 13:32:04 CDT 2021
On 9/19/21 9:04 PM, Matteo Bruni wrote:
> 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?
No idea. I added this only because of the way update_buffer() currently
works, maybe some other places are doing impl_from_* too, I haven't checked.
More information about the wine-devel
mailing list