| @@ -1138,7 +1138,7 @@ driValidateTextureHeaps( driTexHeap * const * texture_heaps, | |||
| unsigned textures_in_heap = 0; | |||
| unsigned blocks_in_mempool = 0; | |||
| const driTexHeap * heap = texture_heaps[i]; | |||
| const memHeap_t * p = heap->memory_heap; | |||
| const struct mem_block *p = heap->memory_heap; | |||
| /* Check each texture object has a MemBlock, and is linked into | |||
| * the correct heap. | |||
| @@ -66,7 +66,7 @@ struct dri_texture_object { | |||
| * texture memory in use by another context. | |||
| * A placeholder should have a heap and a memBlock. | |||
| */ | |||
| PMemBlock memBlock; /**< Memory block containing texture */ | |||
| struct mem_block *memBlock; /**< Memory block containing texture */ | |||
| unsigned reserved; /**< Cannot be swapped out by user contexts. */ | |||
| @@ -176,7 +176,7 @@ struct dri_tex_heap { | |||
| /** Memory heap used to manage texture memory represented by | |||
| * this texture heap. | |||
| */ | |||
| memHeap_t * memory_heap; | |||
| struct mem_block * memory_heap; | |||
| /** List of objects that we currently believe to be in texture | |||
| * memory. | |||
| @@ -144,7 +144,7 @@ struct gamma_texture_object_t { | |||
| int totalSize; | |||
| int bound; | |||
| PMemBlock MemBlock; | |||
| struct mem_block *MemBlock; | |||
| char * BufAddr; | |||
| GLuint min_level; | |||
| @@ -291,7 +291,7 @@ struct gamma_context { | |||
| struct gamma_texture_object_t SwappedOut; | |||
| GLenum TexEnvImageFmt[2]; | |||
| memHeap_t *texHeap; | |||
| struct mem_block *texHeap; | |||
| unsigned int lastSwap; | |||
| int texAge; | |||
| @@ -164,7 +164,7 @@ struct mach64_texture_object { | |||
| struct mach64_texture_object *prev; | |||
| struct gl_texture_object *tObj; | |||
| PMemBlock memBlock; | |||
| struct mem_block *memBlock; | |||
| GLuint offset; | |||
| GLuint size; | |||
| @@ -236,7 +236,7 @@ struct mach64_context { | |||
| #else | |||
| mach64TexObj TexObjList[MACH64_NR_TEX_HEAPS]; | |||
| mach64TexObj SwappedOut; | |||
| memHeap_t *texHeap[MACH64_NR_TEX_HEAPS]; | |||
| struct mem_block *texHeap[MACH64_NR_TEX_HEAPS]; | |||
| GLuint lastTexAge[MACH64_NR_TEX_HEAPS]; | |||
| GLint firstTexHeap, lastTexHeap; | |||
| #endif | |||
| @@ -114,7 +114,7 @@ struct s3v_texture_object_t { | |||
| int totalSize; | |||
| int bound; | |||
| PMemBlock MemBlock; | |||
| struct mem_block *MemBlock; | |||
| GLuint BufAddr; | |||
| GLuint min_level; | |||
| @@ -269,7 +269,7 @@ struct s3v_context { | |||
| struct s3v_texture_object_t SwappedOut; | |||
| GLenum TexEnvImageFmt[2]; | |||
| memHeap_t *texHeap; | |||
| struct mem_block *texHeap; | |||
| int lastSwap; | |||
| int texAge; | |||
| @@ -197,7 +197,7 @@ struct trident_context { | |||
| struct gamma_texture_object_t SwappedOut; | |||
| GLenum TexEnvImageFmt[2]; | |||
| memHeap_t *texHeap; | |||
| struct mem_block *texHeap; | |||
| int lastSwap; | |||
| int texAge; | |||
| @@ -52,7 +52,7 @@ | |||
| _glthread_DECLARE_STATIC_MUTEX(exec_mutex); | |||
| static memHeap_t *exec_heap = NULL; | |||
| static struct mem_block *exec_heap = NULL; | |||
| static unsigned char *exec_mem = NULL; | |||
| @@ -72,7 +72,7 @@ init_heap(void) | |||
| void * | |||
| _mesa_exec_malloc(GLuint size) | |||
| { | |||
| PMemBlock block = NULL; | |||
| struct mem_block *block = NULL; | |||
| void *addr = NULL; | |||
| _glthread_LOCK_MUTEX(exec_mutex); | |||
| @@ -99,7 +99,7 @@ _mesa_exec_free(void *addr) | |||
| _glthread_LOCK_MUTEX(exec_mutex); | |||
| if (exec_heap) { | |||
| PMemBlock block = mmFindBlock(exec_heap, (unsigned char *)addr - exec_mem); | |||
| struct mem_block *block = mmFindBlock(exec_heap, (unsigned char *)addr - exec_mem); | |||
| if (block) | |||
| mmFreeMem(block); | |||
| @@ -26,15 +26,15 @@ | |||
| void | |||
| mmDumpMemInfo(const memHeap_t *heap) | |||
| mmDumpMemInfo(const struct mem_block *heap) | |||
| { | |||
| const TMemBlock *p; | |||
| const struct mem_block *p; | |||
| fprintf(stderr, "Memory heap %p:\n", (void *)heap); | |||
| if (heap == 0) { | |||
| fprintf(stderr, " heap == 0\n"); | |||
| } else { | |||
| p = (TMemBlock *)heap; | |||
| p = (struct mem_block *)heap; | |||
| while (p) { | |||
| fprintf(stderr, " Offset:%08x, Size:%08x, %c%c\n",p->ofs,p->size, | |||
| p->free ? '.':'U', | |||
| @@ -45,20 +45,20 @@ mmDumpMemInfo(const memHeap_t *heap) | |||
| fprintf(stderr, "End of memory blocks\n"); | |||
| } | |||
| memHeap_t * | |||
| struct mem_block * | |||
| mmInit(int ofs, int size) | |||
| { | |||
| PMemBlock blocks; | |||
| struct mem_block *blocks; | |||
| if (size <= 0) { | |||
| return NULL; | |||
| } | |||
| blocks = (TMemBlock *) _mesa_calloc(sizeof(TMemBlock)); | |||
| blocks = (struct mem_block *) _mesa_calloc(sizeof(struct mem_block)); | |||
| if (blocks) { | |||
| blocks->ofs = ofs; | |||
| blocks->size = size; | |||
| blocks->free = 1; | |||
| return (memHeap_t *)blocks; | |||
| return (struct mem_block *)blocks; | |||
| } | |||
| else { | |||
| return NULL; | |||
| @@ -66,16 +66,16 @@ mmInit(int ofs, int size) | |||
| } | |||
| static TMemBlock * | |||
| SliceBlock(TMemBlock *p, | |||
| static struct mem_block * | |||
| SliceBlock(struct mem_block *p, | |||
| int startofs, int size, | |||
| int reserved, int alignment) | |||
| { | |||
| TMemBlock *newblock; | |||
| struct mem_block *newblock; | |||
| /* break left */ | |||
| if (startofs > p->ofs) { | |||
| newblock = (TMemBlock*) _mesa_calloc(sizeof(TMemBlock)); | |||
| newblock = (struct mem_block*) _mesa_calloc(sizeof(struct mem_block)); | |||
| if (!newblock) | |||
| return NULL; | |||
| newblock->ofs = startofs; | |||
| @@ -89,7 +89,7 @@ SliceBlock(TMemBlock *p, | |||
| /* break right */ | |||
| if (size < p->size) { | |||
| newblock = (TMemBlock*) _mesa_calloc(sizeof(TMemBlock)); | |||
| newblock = (struct mem_block*) _mesa_calloc(sizeof(struct mem_block)); | |||
| if (!newblock) | |||
| return NULL; | |||
| newblock->ofs = startofs + size; | |||
| @@ -108,17 +108,17 @@ SliceBlock(TMemBlock *p, | |||
| } | |||
| PMemBlock | |||
| mmAllocMem(memHeap_t *heap, int size, int align2, int startSearch) | |||
| struct mem_block * | |||
| mmAllocMem(struct mem_block *heap, int size, int align2, int startSearch) | |||
| { | |||
| int mask,startofs,endofs; | |||
| TMemBlock *p; | |||
| struct mem_block *p = heap; | |||
| int mask = (1 << align2)-1; | |||
| int startofs = 0; | |||
| int endofs; | |||
| if (!heap || align2 < 0 || size <= 0) | |||
| return NULL; | |||
| mask = (1 << align2)-1; | |||
| startofs = 0; | |||
| p = (TMemBlock *)heap; | |||
| while (p) { | |||
| if ((p)->free) { | |||
| startofs = (p->ofs + mask) & ~mask; | |||
| @@ -139,10 +139,10 @@ mmAllocMem(memHeap_t *heap, int size, int align2, int startSearch) | |||
| } | |||
| PMemBlock | |||
| mmFindBlock(memHeap_t *heap, int start) | |||
| struct mem_block * | |||
| mmFindBlock(struct mem_block *heap, int start) | |||
| { | |||
| TMemBlock *p = (TMemBlock *)heap; | |||
| struct mem_block *p = (struct mem_block *)heap; | |||
| while (p) { | |||
| if (p->ofs == start && p->free) | |||
| @@ -155,12 +155,12 @@ mmFindBlock(memHeap_t *heap, int start) | |||
| } | |||
| static INLINE int | |||
| Join2Blocks(TMemBlock *p) | |||
| static int | |||
| Join2Blocks(struct mem_block *p) | |||
| { | |||
| /* XXX there should be some assertions here */ | |||
| if (p->free && p->next && p->next->free) { | |||
| TMemBlock *q = p->next; | |||
| struct mem_block *q = p->next; | |||
| p->size += q->size; | |||
| p->next = q->next; | |||
| _mesa_free(q); | |||
| @@ -170,9 +170,9 @@ Join2Blocks(TMemBlock *p) | |||
| } | |||
| int | |||
| mmFreeMem(PMemBlock b) | |||
| mmFreeMem(struct mem_block *b) | |||
| { | |||
| TMemBlock *p,*prev; | |||
| struct mem_block *p,*prev; | |||
| if (!b) | |||
| return 0; | |||
| @@ -204,16 +204,16 @@ mmFreeMem(PMemBlock b) | |||
| void | |||
| mmDestroy(memHeap_t *heap) | |||
| mmDestroy(struct mem_block *heap) | |||
| { | |||
| TMemBlock *p; | |||
| struct mem_block *p; | |||
| if (!heap) | |||
| return; | |||
| p = (TMemBlock *) heap; | |||
| p = (struct mem_block *) heap; | |||
| while (p) { | |||
| TMemBlock *next = p->next; | |||
| struct mem_block *next = p->next; | |||
| _mesa_free(p); | |||
| p = next; | |||
| } | |||
| @@ -35,45 +35,22 @@ | |||
| #include "imports.h" | |||
| struct mem_block_t { | |||
| struct mem_block_t *next; | |||
| struct mem_block_t *heap; | |||
| struct mem_block { | |||
| struct mem_block *next; | |||
| struct mem_block *heap; | |||
| int ofs,size; | |||
| int align; | |||
| unsigned int free:1; | |||
| unsigned int reserved:1; | |||
| }; | |||
| typedef struct mem_block_t TMemBlock; | |||
| typedef struct mem_block_t *PMemBlock; | |||
| /* a heap is just the first block in a chain */ | |||
| typedef struct mem_block_t memHeap_t; | |||
| /* XXX are these needed? */ | |||
| #if 0 | |||
| static INLINE int | |||
| mmBlockSize(PMemBlock b) | |||
| { | |||
| return b->size; | |||
| } | |||
| static INLINE int | |||
| mmOffset(PMemBlock b) | |||
| { | |||
| return b->ofs; | |||
| } | |||
| #endif | |||
| /** | |||
| * input: total size in bytes | |||
| * return: a heap pointer if OK, NULL if error | |||
| */ | |||
| extern memHeap_t *mmInit(int ofs, int size); | |||
| extern struct mem_block *mmInit(int ofs, int size); | |||
| /** | |||
| * Allocate 'size' bytes with 2^align2 bytes alignment, | |||
| @@ -85,7 +62,7 @@ extern memHeap_t *mmInit(int ofs, int size); | |||
| * startSearch = linear offset from start of heap to begin search | |||
| * return: pointer to the allocated block, 0 if error | |||
| */ | |||
| extern PMemBlock mmAllocMem(memHeap_t *heap, int size, int align2, | |||
| extern struct mem_block *mmAllocMem(struct mem_block *heap, int size, int align2, | |||
| int startSearch); | |||
| /** | |||
| @@ -93,23 +70,23 @@ extern PMemBlock mmAllocMem(memHeap_t *heap, int size, int align2, | |||
| * input: pointer to a block | |||
| * return: 0 if OK, -1 if error | |||
| */ | |||
| extern int mmFreeMem(PMemBlock b); | |||
| extern int mmFreeMem(struct mem_block *b); | |||
| /** | |||
| * Free block starts at offset | |||
| * input: pointer to a heap, start offset | |||
| * return: pointer to a block | |||
| */ | |||
| extern PMemBlock mmFindBlock(memHeap_t *heap, int start); | |||
| extern struct mem_block *mmFindBlock(struct mem_block *heap, int start); | |||
| /** | |||
| * destroy MM | |||
| */ | |||
| extern void mmDestroy(memHeap_t *mmInit); | |||
| extern void mmDestroy(struct mem_block *mmInit); | |||
| /** | |||
| * For debuging purpose. | |||
| */ | |||
| extern void mmDumpMemInfo(const memHeap_t *mmInit); | |||
| extern void mmDumpMemInfo(const struct mem_block *mmInit); | |||
| #endif | |||