2017-08-31 19:40 GMT+02:00 Paul Gofman gofmanp@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@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().