From 478d22f74221c13d17e359760c146aae829ad00f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Sat, 6 Jan 2007 18:26:49 +0100 Subject: [PATCH] wined3d: Do not keep internal references on index buffers. --- dlls/wined3d/device.c | 11 ----------- dlls/wined3d/stateblock.c | 6 ------ 2 files changed, 17 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index e43a2e6248..5957c5201d 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2999,13 +2999,6 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetIndices(IWineD3DDevice *iface, IWine return WINED3D_OK; } - if (NULL != pIndexData) { - IWineD3DIndexBuffer_AddRef(pIndexData); - } - if (NULL != oldIdxs) { - IWineD3DIndexBuffer_Release(oldIdxs); - } - /* So far only the base vertex index is tracked */ if(BaseVertexIndex != oldBaseIndex) { IWineD3DDeviceImpl_MarkStateDirty(This, STATE_STREAMSRC); @@ -4770,10 +4763,6 @@ static HRESULT WINAPI IWineD3DDeviceImpl_DrawIndexedPrimitiveUP(IWineD3DDevice * idxStride = 4; } - if (This->stateBlock->pIndexData) { - IWineD3DIndexBuffer_Release(This->stateBlock->pIndexData); - } - /* Note in the following, it's not this type, but that's the purpose of streamIsUP */ This->stateBlock->streamSource[0] = (IWineD3DVertexBuffer *)pVertexStreamZeroData; This->stateBlock->streamIsUP = TRUE; diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c index 0b3f6e8cc0..dba9e8a070 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c @@ -233,12 +233,6 @@ static ULONG WINAPI IWineD3DStateBlockImpl_Release(IWineD3DStateBlock *iface) { int counter; FIXME("Releasing primary stateblock\n"); - /* free any index data */ - if (This->pIndexData) { - IWineD3DIndexBuffer_Release(This->pIndexData); - This->pIndexData = NULL; - } - /* NOTE: according to MSDN: The application is responsible for making sure the texture references are cleared down */ for (counter = 0; counter < GL_LIMITS(sampler_stages); counter++) { if (This->textures[counter]) {