Re: [PATCH 3/3] d3dx9: Return E_FAIL from ValidateTechnique() for techniques with unsupported shaders.
2017-08-31 19:40 GMT+02:00 Paul Gofman <gofmanp(a)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).a... give some ideas (although E_FAIL is not in the list, figures...)
On 08/31/2017 09:32 PM, Matteo Bruni wrote:
2017-08-31 19:40 GMT+02:00 Paul Gofman <gofmanp(a)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).a... 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().
participants (2)
-
Matteo Bruni -
Paul Gofman