   software proccessing and index buffer
  Hello,I have a problem when I create device with D3DDEVTYPE_HAL and D3DCREATE_SOFTWARE_VERTEXPROCESSING flags. Works ok with  D3DCREATE_HARDWARE_VERTEXPROCESSING.So at software mode, DrawIndexedPrimitive seems to have index buffer with all 0s.I debugged it with Pix and Pix shows vertex buffers are correct at pre transform and at post transform, and I can see the mesh. But render screen is empty and Index buffer is all full of 0s. I also locked the index buffer on CPU and chacked values in it, they are not 0s but valid values. I create index buffer like this GetScene()-&gt;GetDevice()-&gt;GetD3DDevice()-&gt;CreateIndexBuffer(m_iNumOfTriangles*3*4,D3DUSAGE_SOFTWAREPROCESSING ,D3DFMT_INDEX32,  D3DPOOL_SYSTEMMEM, &basebuff, NULL );and I set index buffer and effect and streams like thisUINT passes;GetScene()-&gt;GetDevice()-&gt;GetD3DDevice()-&gt;SetSoftwareVertexProcessing(true);HRESULT hh=m_pShader-&gt;GetEffect()-&gt;Begin(&passes,0);if (m_dVertexFlags&VX_BASE_VERTEX)GetScene()-&gt;GetDevice()-&gt;GetD3DDevice()-&gt;SetStreamSource(0,m_pVerBuff-&gt;GetBaseBuffer(),0,sizeof(BaseVertex));if (m_dVertexFlags&VX_TANGENT)GetScene()-&gt;GetDevice()-&gt;GetD3DDevice()-&gt;SetStreamSource(1,m_pVerBuff-&gt;GetTangentsBuffer(),0,sizeof(float)*(4));if (m_dVertexFlags&VX_BONE)GetScene()-&gt;GetDevice()-&gt;GetD3DDevice()-&gt;SetStreamSource(2,m_pVerBuff-&gt;GetBonesBuffer(),0,sizeof(BoneVertex));if (m_dVertexFlags&VX_COLOR)GetScene()-&gt;GetDevice()-&gt;GetD3DDevice()-&gt;SetStreamSource(3,m_pVerBuff-&gt;GetColorsBuffer(),0,sizeof(char)*4);if (m_dVertexFlags&VX_MATERIAL_ID)GetScene()-&gt;GetDevice()-&gt;GetD3DDevice()-&gt;SetStreamSource(4,m_pVerBuff-&gt;GetIDsBuffer(),0,sizeof(float));if (FAILED(GetScene()-&gt;GetDevice()-&gt;GetD3DDevice()-&gt;SetIndices(m_pVerBuff-&gt;GetIndexBuffer())))return;for(UINT uPass = 0; uPass &lt; passes; uPass++){hh =m_pShader-&gt;GetEffect()-&gt;BeginPass(uPass);if (m_fncSetShaderUniforms)m_fncSetShaderUniforms(this);elsem_pShader-&gt;SetShaderUniforms(this);hh =m_pShader-&gt;GetEffect()-&gt;CommitChanges();HRESULT h=GetScene()-&gt;GetDevice()-&gt;GetD3DDevice()-&gt;DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0,0,(UINT)m_iNumOfVerticies,0,(UINT)m_iNumOfTriangles);m_pShader-&gt;GetEffect()-&gt;EndPass();}m_pShader-&gt;GetEffect()-&gt;End();