xserver/hw/kdrive/src koffscreen.c,1.16,1.17
Damien Ciabrini <xserver-commit-u7BhqnqprCWvj1b/[email protected]> Wed, 6 Jul 2005 06:57:43 -0700 (PDT)
| Newsgroups | gmane.comp.freedesktop.xserver.cvs |
|---|---|
| Message-ID | <[email protected]> |
Committed by: damienc
Update of /cvs/xserver/xserver/hw/kdrive/src
In directory gabe:/tmp/cvs-serv13860/hw/kdrive/src
Modified Files:
koffscreen.c
Log Message:
Fix offset alignment code in the offscreen memory allocator to prevent
textures from being allocated in the next free memory area.
Index: koffscreen.c
===================================================================
RCS file: /cvs/xserver/xserver/hw/kdrive/src/koffscreen.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- koffscreen.c 29 Jun 2004 20:37:51 -0000 1.16
+++ koffscreen.c 6 Jul 2005 13:57:41 -0000 1.17
@@ -46,11 +46,11 @@
for (area = pScreenPriv->off_screen_areas; area; area = area->next)
{
if (prev)
- assert (prev->area.offset + prev->area.size == area->area.offset);
+ assert (prev->offset + prev->size == area->offset);
prev = area;
}
- assert (prev->area.offset + prev->area.size == pScreenPriv->screen->memory_size);
+ assert (prev->offset + prev->size == pScreenPriv->screen->memory_size);
}
#else
#define KdOffscreenValidate(s)
@@ -214,7 +214,11 @@
area->score = 0;
area->save_offset = area->offset;
- area->offset = (area->offset + align - 1) & ~(align - 1);
+ {
+ int tmp = area->offset % align;
+ if (tmp)
+ area->offset += (align - tmp);
+ }
KdOffscreenValidate (pScreen);