Fixed detail factor clamping in Voodoo recompiler. Fixes texture issues in Jane's WWII Fighters.

This commit is contained in:
SarahW 2017-08-10 21:50:08 +01:00
commit b9055d9aff
2 changed files with 16 additions and 16 deletions

View file

@ -1047,8 +1047,8 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(params->detail_scale[1]);
addbyte(0x39); /*CMP EAX, EDX*/
addbyte(0xd0);
addbyte(0x0f); /*CMOVA EAX, EDX*/
addbyte(0x47);
addbyte(0x0f); /*CMOVNL EAX, EDX*/
addbyte(0x4d);
addbyte(0xc2);
addbyte(0x66); /*MOVD XMM0, EAX*/
addbyte(0x0f);
@ -1201,8 +1201,8 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(params->detail_scale[1]);
addbyte(0x39); /*CMP EAX, EDX*/
addbyte(0xd0);
addbyte(0x0f); /*CMOVA EAX, EDX*/
addbyte(0x47);
addbyte(0x0f); /*CMOVNL EAX, EDX*/
addbyte(0x4d);
addbyte(0xc2);
break;
case TCA_MSELECT_LOD_FRAC:
@ -1371,8 +1371,8 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(params->detail_scale[0]);
addbyte(0x39); /*CMP EAX, EDX*/
addbyte(0xd0);
addbyte(0x0f); /*CMOVA EAX, EDX*/
addbyte(0x47);
addbyte(0x0f); /*CMOVNL EAX, EDX*/
addbyte(0x4d);
addbyte(0xc2);
addbyte(0x66); /*MOVD XMM4, EAX*/
addbyte(0x0f);
@ -1569,8 +1569,8 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(params->detail_scale[1]);
addbyte(0x39); /*CMP EBX, EDX*/
addbyte(0xd3);
addbyte(0x0f); /*CMOVA EBX, EDX*/
addbyte(0x47);
addbyte(0x0f); /*CMOVNL EBX, EDX*/
addbyte(0x4d);
addbyte(0xda);
break;
case TCA_MSELECT_LOD_FRAC:

View file

@ -1030,8 +1030,8 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(params->detail_scale[1]);
addbyte(0x39); /*CMP EAX, EDX*/
addbyte(0xd0);
addbyte(0x0f); /*CMOVA EAX, EDX*/
addbyte(0x47);
addbyte(0x0f); /*CMOVNL EAX, EDX*/
addbyte(0x4d);
addbyte(0xc2);
addbyte(0x66); /*MOVD XMM0, EAX*/
addbyte(0x0f);
@ -1182,8 +1182,8 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(params->detail_scale[1]);
addbyte(0x39); /*CMP EAX, EDX*/
addbyte(0xd0);
addbyte(0x0f); /*CMOVA EAX, EDX*/
addbyte(0x47);
addbyte(0x0f); /*CMOVNL EAX, EDX*/
addbyte(0x4d);
addbyte(0xc2);
break;
case TCA_MSELECT_LOD_FRAC:
@ -1352,8 +1352,8 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(params->detail_scale[0]);
addbyte(0x39); /*CMP EAX, EDX*/
addbyte(0xd0);
addbyte(0x0f); /*CMOVA EAX, EDX*/
addbyte(0x47);
addbyte(0x0f); /*CMOVNL EAX, EDX*/
addbyte(0x4d);
addbyte(0xc2);
addbyte(0x66); /*MOVD XMM4, EAX*/
addbyte(0x0f);
@ -1548,8 +1548,8 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(params->detail_scale[1]);
addbyte(0x39); /*CMP EBX, EDX*/
addbyte(0xd3);
addbyte(0x0f); /*CMOVA EBX, EDX*/
addbyte(0x47);
addbyte(0x0f); /*CMOVNL EBX, EDX*/
addbyte(0x4d);
addbyte(0xda);
break;
case TCA_MSELECT_LOD_FRAC: