Voodoo only writes to depth buffer when depth buffering enabled, regardless of whether depth writes are enabled or not

V2 clipping coordinates are 12 bits, instead of 10 as on Voodoo Graphics.
V2 block width is 6 bits long.
Battlezone now works at 1024x768 on Voodoo 2.
This commit is contained in:
SarahW 2017-02-05 16:34:59 +00:00
commit e6b4f88065
3 changed files with 26 additions and 8 deletions

View file

@ -2972,7 +2972,7 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(0x56);
}
if (params->fbzMode & FBZ_DEPTH_WMASK)
if ((params->fbzMode & (FBZ_DEPTH_WMASK | FBZ_DEPTH_ENABLE)) == (FBZ_DEPTH_WMASK | FBZ_DEPTH_ENABLE))
{
addbyte(0x66); /*MOV AX, new_depth*/
addbyte(0x8b);