[PATCH 3/3] d3dx9: Return E_FAIL from ValidateTechnique() for techniques with unsupported shaders.

Paul Gofman gofmanp at gmail.com
Thu Aug 31 13:43:12 CDT 2017


On 08/31/2017 09:32 PM, Matteo Bruni wrote:
> 2017-08-31 19:40 GMT+02:00 Paul Gofman <gofmanp at gmail.com>:
>
>>   static HRESULT WINAPI ID3DXEffectImpl_ValidateTechnique(ID3DXEffect* iface, D3DXHANDLE technique)
>>   {
>> -    struct ID3DXEffectImpl *This = impl_from_ID3DXEffect(iface);
>> +    struct ID3DXEffectImpl *effect = impl_from_ID3DXEffect(iface);
>> +    struct d3dx9_base_effect *base = &effect->base_effect;
>> +    struct d3dx_technique *tech = get_valid_technique(base, technique);
>> +    HRESULT ret = D3D_OK;
>> +    unsigned int i, j;
>>
>> -    FIXME("(%p)->(%p): stub\n", This, technique);
>> +    FIXME("iface %p, technique %p semi-stub.\n", iface, technique);
> Do you know what else is missing for ValidateTechnique()?
> Replying to myself: the return values mentioned in
> https://msdn.microsoft.com/en-us/library/windows/desktop/bb205835(v=vs.85).aspx
> give some ideas (although E_FAIL is not in the list, figures...)
>
>
     I did not test it thoroughly, but also viewed a long list of 
possible specific return values in MSDN.

     And yes, ironically, it does not list any special return value for 
incompatible shader, and returns E_FAIL which is not listed, while I 
suppose it might be the most common case in practice when application 
can depend on ValidateTechnique().




More information about the wine-devel mailing list