Voodoo now implements texture RGB as a multiplier input in the colour combiner.
This commit is contained in:
parent
7084337906
commit
e162b6166e
3 changed files with 41 additions and 1 deletions
|
|
@ -1628,6 +1628,13 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
|
|||
addbyte(0x7e);
|
||||
addbyte(0xc1);
|
||||
}
|
||||
if (cc_mselect == CC_MSELECT_TEXRGB)
|
||||
{
|
||||
addbyte(0xf3); /*MOVD XMM4, XMM0*/
|
||||
addbyte(0x0f);
|
||||
addbyte(0x7e);
|
||||
addbyte(0xe0);
|
||||
}
|
||||
|
||||
if ((params->fbzMode & FBZ_CHROMAKEY))
|
||||
{
|
||||
|
|
@ -2095,6 +2102,16 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
|
|||
addlong(offsetof(voodoo_state_t, tex_a));
|
||||
addbyte(2);
|
||||
break;
|
||||
case CC_MSELECT_TEXRGB:
|
||||
addbyte(0x66); /*PUNPCKLBW XMM4, XMM2*/
|
||||
addbyte(0x0f);
|
||||
addbyte(0x60);
|
||||
addbyte(0xe2);
|
||||
addbyte(0xf3); /*MOVQ XMM3, XMM4*/
|
||||
addbyte(0x0f);
|
||||
addbyte(0x7e);
|
||||
addbyte(0xdc);
|
||||
break;
|
||||
default:
|
||||
addbyte(0x66); /*PXOR XMM3, XMM3*/
|
||||
addbyte(0x0f);
|
||||
|
|
|
|||
Loading…
Reference in a new issue