Increase size of Voodoo dirty_line array to 2048 lines, and add some
bounds checking before accessing. Fixes crash running 3DMark 2001 on Voodoo 3.
This commit is contained in:
parent
5c20fe7c57
commit
8cfb60608e
6 changed files with 13 additions and 10 deletions
|
|
@ -195,7 +195,7 @@ void voodoo_fb_writew(uint32_t addr, uint16_t val, void *p)
|
|||
}
|
||||
|
||||
|
||||
if (voodoo->fb_write_offset == voodoo->params.front_offset)
|
||||
if (voodoo->fb_write_offset == voodoo->params.front_offset && y < 2048)
|
||||
voodoo->dirty_line[y] = 1;
|
||||
|
||||
if (voodoo->col_tiled)
|
||||
|
|
@ -355,7 +355,7 @@ void voodoo_fb_writel(uint32_t addr, uint32_t val, void *p)
|
|||
y >>= 1;
|
||||
}
|
||||
|
||||
if (voodoo->fb_write_offset == voodoo->params.front_offset)
|
||||
if (voodoo->fb_write_offset == voodoo->params.front_offset && y < 2048)
|
||||
voodoo->dirty_line[y] = 1;
|
||||
|
||||
if (voodoo->col_tiled)
|
||||
|
|
|
|||
Loading…
Reference in a new issue