diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/common/texmem.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/common/texmem.h | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/gamma/gamma_context.h | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/mach64/mach64_context.h | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/s3v/s3v_context.h | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/trident/trident_context.h | 2 | ||||
-rw-r--r-- | src/mesa/main/execmem.c | 6 | ||||
-rw-r--r-- | src/mesa/main/mm.c | 62 | ||||
-rw-r--r-- | src/mesa/main/mm.h | 41 |
9 files changed, 53 insertions, 76 deletions
diff --git a/src/mesa/drivers/dri/common/texmem.c b/src/mesa/drivers/dri/common/texmem.c index c3f6ec9baea..7cf2e21b633 100644 --- a/src/mesa/drivers/dri/common/texmem.c +++ b/src/mesa/drivers/dri/common/texmem.c @@ -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. diff --git a/src/mesa/drivers/dri/common/texmem.h b/src/mesa/drivers/dri/common/texmem.h index 5c1fc323843..22d1755895e 100644 --- a/src/mesa/drivers/dri/common/texmem.h +++ b/src/mesa/drivers/dri/common/texmem.h @@ -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. diff --git a/src/mesa/drivers/dri/gamma/gamma_context.h b/src/mesa/drivers/dri/gamma/gamma_context.h index 7745f4c3c3d..f0ab1c4f05c 100644 --- a/src/mesa/drivers/dri/gamma/gamma_context.h +++ b/src/mesa/drivers/dri/gamma/gamma_context.h @@ -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; diff --git a/src/mesa/drivers/dri/mach64/mach64_context.h b/src/mesa/drivers/dri/mach64/mach64_context.h index c541f77ab98..e718b96c188 100644 --- a/src/mesa/drivers/dri/mach64/mach64_context.h +++ b/src/mesa/drivers/dri/mach64/mach64_context.h @@ -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 diff --git a/src/mesa/drivers/dri/s3v/s3v_context.h b/src/mesa/drivers/dri/s3v/s3v_context.h index 4b409fbf374..6f527f3a834 100644 --- a/src/mesa/drivers/dri/s3v/s3v_context.h +++ b/src/mesa/drivers/dri/s3v/s3v_context.h @@ -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; diff --git a/src/mesa/drivers/dri/trident/trident_context.h b/src/mesa/drivers/dri/trident/trident_context.h index 7ebb5f2049b..b1e68b01663 100644 --- a/src/mesa/drivers/dri/trident/trident_context.h +++ b/src/mesa/drivers/dri/trident/trident_context.h @@ -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; diff --git a/src/mesa/main/execmem.c b/src/mesa/main/execmem.c index 89deaafad3a..1655fd66e6e 100644 --- a/src/mesa/main/execmem.c +++ b/src/mesa/main/execmem.c @@ -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); diff --git a/src/mesa/main/mm.c b/src/mesa/main/mm.c index e4c96821732..0a71c4d8514 100644 --- a/src/mesa/main/mm.c +++ b/src/mesa/main/mm.c @@ -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; } diff --git a/src/mesa/main/mm.h b/src/mesa/main/mm.h index d2aa3777c3f..9213b2ad34e 100644 --- a/src/mesa/main/mm.h +++ b/src/mesa/main/mm.h @@ -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 |