- Hi All!There is an application which renders video with overlays.Code for setting textures:// Prepare the d3d device for texturing._d3dDevice->GetTextureStageState(0, D3DTSS_ALPHAOP, &_tssAlphaop);
_d3dDevice->GetTextureStageState(0, D3DTSS_ALPHAARG1, &_tssAlphaarg1);
_d3dDevice->GetTextureStageState(0, D3DTSS_ALPHAARG2, &_taDiffuse);
_d3dDevice->GetTextureStageState(0, D3DTSS_COLORARG1, &_taColorarg1);
_d3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
_d3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
_d3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
_d3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);// texturing_d3dDevice->SetTexture(0, overlay);
_d3dDevice->SetFVF(TEXTURE_CUSTOMFVF);
_d3dDevice->SetStreamSource(0, _overlayVertices, 0, sizeof(TEXTURE_CUSTOMVERTEX));
_d3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2);
_d3dDevice->SetStreamSource(0, NULL, 0, 0);// Restore the d3d device states after texturing._d3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1, _taColorarg1);
_d3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, _taDiffuse);
_d3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, _tssAlphaarg1);
_d3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, _tssAlphaop);
_d3dDevice->SetTexture(0, NULL); it works fine in most cases. But if we resize - we get crash somewhere in video driver dll, in igdumdim32.dll. There is no informative call stack. If switch off overlays and play just video - everything's ok.The model of video card - Intel(R) HD Graphics 4400; driver version 9.18.10.3324, 2013-10-07.I checked it on ~10 computers - it works correct on almost all computers with different video cards, except two laptops with Intel video card.
I'll be glad to get any help.
Thanks,
Olena