mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-16 21:40:38 +01:00
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
This commit is contained in:
parent
5805a9e328
commit
3ccbde627e
2 changed files with 7 additions and 6 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue