radv: set writes_memory for global memory stores/atomics
[mesa.git] / src / mesa / main / mm.h
index 9213b2ad34eef8fba7b96a7135013b4aa74b83c8..228721ca2a5467c73693e9afa7f0c6171b17c93c 100644 (file)
 #define MM_H
 
 
-#include "imports.h"
-
-
 struct mem_block {
-  struct mem_block *next;
-  struct mem_block *heap;
-  int ofs,size;
-  int align;
-  unsigned int free:1;
-  unsigned int reserved:1;
+   struct mem_block *next, *prev;
+   struct mem_block *next_free, *prev_free;
+   struct mem_block *heap;
+   unsigned ofs;
+   unsigned size;
+   unsigned free:1;
+   unsigned reserved:1;
 };
 
 
@@ -50,7 +48,7 @@ struct mem_block {
  * input: total size in bytes
  * return: a heap pointer if OK, NULL if error
  */
-extern struct mem_block *mmInit(int ofs, int size);
+extern struct mem_block *mmInit(unsigned ofs, unsigned size);
 
 /**
  * Allocate 'size' bytes with 2^align2 bytes alignment,
@@ -62,8 +60,8 @@ extern struct mem_block *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 struct mem_block *mmAllocMem(struct mem_block *heap, int size, int align2
-                            int startSearch);
+extern struct mem_block *mmAllocMem(struct mem_block *heap, unsigned size
+                                    unsigned align2, unsigned startSearch);
 
 /**
  * Free block starts at offset
@@ -77,7 +75,7 @@ extern int mmFreeMem(struct mem_block *b);
  * input: pointer to a heap, start offset
  * return: pointer to a block
  */
-extern struct mem_block *mmFindBlock(struct mem_block *heap, int start);
+extern struct mem_block *mmFindBlock(struct mem_block *heap, unsigned start);
 
 /**
  * destroy MM