Make sure the legacy texture area is there when needed.

This currently only matters when the DRM memory manager is not available and
Option "Legacy3D" "off" is specified, but that hasn't always been the case and
might change again in the future.
This commit is contained in:
Michel Dänzer 2007-03-14 11:41:50 +01:00
parent 66fdb08c83
commit 555b801a75
3 changed files with 12 additions and 1 deletions

View File

@ -591,6 +591,7 @@ void i830_free_3d_memory(ScrnInfoPtr pScrn);
void i830_free_memory(ScrnInfoPtr pScrn, i830_memory *mem);
extern long I830CheckAvailableMemory(ScrnInfoPtr pScrn);
Bool i830_allocate_2d_memory(ScrnInfoPtr pScrn);
Bool i830_allocate_texture_memory(ScrnInfoPtr pScrn);
Bool i830_allocate_3d_memory(ScrnInfoPtr pScrn);
extern Bool I830IsPrimary(ScrnInfoPtr pScrn);

View File

@ -702,6 +702,16 @@ I830DRIScreenInit(ScreenPtr pScreen)
i830_free_memory(pScrn, pI830->memory_manager);
pI830->memory_manager = NULL;
if (!(pI830->mmModeFlags & I830_KERNEL_TEX)) {
pI830->mmModeFlags |= I830_KERNEL_TEX;
if (!i830_allocate_texture_memory(pScrn)) {
I830DRICloseScreen(pScreen);
drmFreeVersion(version);
return FALSE;
}
}
}
}
#ifdef DAMAGE

View File

@ -1156,7 +1156,7 @@ i830_allocate_depthbuffer(ScrnInfoPtr pScrn)
return TRUE;
}
static Bool
Bool
i830_allocate_texture_memory(ScrnInfoPtr pScrn)
{
I830Ptr pI830 = I830PTR(pScrn);