wined3d: Implement VolumeTexture::UnLoad.
This commit is contained in:
parent
38a4f6339b
commit
8bb5d13fe2
|
@ -136,7 +136,26 @@ static void WINAPI IWineD3DVolumeTextureImpl_PreLoad(IWineD3DVolumeTexture *ifac
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WINAPI IWineD3DVolumeTextureImpl_UnLoad(IWineD3DVolumeTexture *iface) {
|
static void WINAPI IWineD3DVolumeTextureImpl_UnLoad(IWineD3DVolumeTexture *iface) {
|
||||||
IWineD3DResourceImpl_UnLoad((IWineD3DResource *)iface);
|
unsigned int i;
|
||||||
|
IWineD3DVolumeTextureImpl *This = (IWineD3DVolumeTextureImpl *)iface;
|
||||||
|
IWineD3DDeviceImpl *device = This->resource.wineD3DDevice;
|
||||||
|
TRACE("(%p)\n", This);
|
||||||
|
|
||||||
|
/* Unload all the surfaces and reset the texture name. If UnLoad was called on the
|
||||||
|
* surface before, this one will be a NOP and vice versa. Unloading an unloaded
|
||||||
|
* surface is fine
|
||||||
|
*/
|
||||||
|
for (i = 0; i < This->baseTexture.levels; i++) {
|
||||||
|
IWineD3DVolume_UnLoad(This->volumes[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(This->baseTexture.textureName) {
|
||||||
|
ActivateContext(device, device->lastActiveRenderTarget, CTXUSAGE_RESOURCELOAD);
|
||||||
|
ENTER_GL();
|
||||||
|
glDeleteTextures(1, &This->baseTexture.textureName);
|
||||||
|
This->baseTexture.textureName = 0;
|
||||||
|
LEAVE_GL();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static WINED3DRESOURCETYPE WINAPI IWineD3DVolumeTextureImpl_GetType(IWineD3DVolumeTexture *iface) {
|
static WINED3DRESOURCETYPE WINAPI IWineD3DVolumeTextureImpl_GetType(IWineD3DVolumeTexture *iface) {
|
||||||
|
|
Loading…
Reference in New Issue