summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-06-17 10:11:53 -0600
committerBrian Paul <[email protected]>2008-06-17 10:11:53 -0600
commit3ccbde627edb420071b08a830dd58ed5daf82ffa (patch)
tree9b7d698f7654cbaadd7f0d97a90f899c6637227e /src/mesa/main
parent5805a9e32881831f320bcd1a95fbfacf17aef5d5 (diff)
mesa: make mm.c use unsigned ints for offsets.
If you have a GPU using this code and it has the offsets up in this space, this fails. cherry-picked from master
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/mm.c8
-rw-r--r--src/mesa/main/mm.h5
2 files changed, 7 insertions, 6 deletions
diff --git a/src/mesa/main/mm.c b/src/mesa/main/mm.c
index 846c329c70d..fb7809ed221 100644
--- a/src/mesa/main/mm.c
+++ b/src/mesa/main/mm.c
@@ -53,7 +53,7 @@ mmDumpMemInfo(const struct mem_block *heap)
}
struct mem_block *
-mmInit(int ofs, int size)
+mmInit(unsigned int ofs, int size)
{
struct mem_block *heap, *block;
@@ -91,7 +91,7 @@ mmInit(int ofs, int size)
static struct mem_block *
SliceBlock(struct mem_block *p,
- int startofs, int size,
+ unsigned int startofs, int size,
int reserved, int alignment)
{
struct mem_block *newblock;
@@ -164,8 +164,8 @@ mmAllocMem(struct mem_block *heap, int size, int align2, int startSearch)
{
struct mem_block *p;
const int mask = (1 << align2)-1;
- int startofs = 0;
- int endofs;
+ unsigned int startofs = 0;
+ unsigned int endofs;
if (!heap || align2 < 0 || size <= 0)
return NULL;
diff --git a/src/mesa/main/mm.h b/src/mesa/main/mm.h
index 26d59fff139..5ad3ffd6d15 100644
--- a/src/mesa/main/mm.h
+++ b/src/mesa/main/mm.h
@@ -39,7 +39,8 @@ struct mem_block {
struct mem_block *next, *prev;
struct mem_block *next_free, *prev_free;
struct mem_block *heap;
- int ofs,size;
+ unsigned int ofs;
+ int size;
unsigned int free:1;
unsigned int reserved:1;
};
@@ -50,7 +51,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 int ofs, int size);
/**
* Allocate 'size' bytes with 2^align2 bytes alignment,