wined3d: Implement IWineD3DIndexBuffer::UnLoad.
This commit is contained in:
parent
15245a74b6
commit
36729a874c
|
@ -111,7 +111,24 @@ static void WINAPI IWineD3DIndexBufferImpl_PreLoad(IWineD3DIndexBuffer *iface) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WINAPI IWineD3DIndexBufferImpl_UnLoad(IWineD3DIndexBuffer *iface) {
|
static void WINAPI IWineD3DIndexBufferImpl_UnLoad(IWineD3DIndexBuffer *iface) {
|
||||||
IWineD3DResourceImpl_UnLoad((IWineD3DResource *)iface);
|
IWineD3DIndexBufferImpl *This = (IWineD3DIndexBufferImpl *) iface;
|
||||||
|
IWineD3DDeviceImpl *device = This->resource.wineD3DDevice;
|
||||||
|
TRACE("(%p)\n", This);
|
||||||
|
|
||||||
|
/* This is easy: The whole content is shadowed in This->resource.allocatedMemory,
|
||||||
|
* so we only have to destroy the vbo. Only do it if we have a vbo, which implies
|
||||||
|
* that vbos are supported.
|
||||||
|
* (TODO: Make a IWineD3DBuffer base class for index and vertex buffers and share
|
||||||
|
* this code. Also needed for D3D10)
|
||||||
|
*/
|
||||||
|
if(This->vbo) {
|
||||||
|
ActivateContext(device, device->lastActiveRenderTarget, CTXUSAGE_RESOURCELOAD);
|
||||||
|
ENTER_GL();
|
||||||
|
GL_EXTCALL(glDeleteBuffersARB(1, &This->vbo));
|
||||||
|
checkGLcall("glDeleteBuffersARB");
|
||||||
|
LEAVE_GL();
|
||||||
|
This->vbo = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static WINED3DRESOURCETYPE WINAPI IWineD3DIndexBufferImpl_GetType(IWineD3DIndexBuffer *iface) {
|
static WINED3DRESOURCETYPE WINAPI IWineD3DIndexBufferImpl_GetType(IWineD3DIndexBuffer *iface) {
|
||||||
|
|
Loading…
Reference in New Issue