[CPU] v(u)pkd3d128: Support UINT_2101010 and don't saturate D3DCOLOR

Fix broken mesh polygons in the Call of Duty series. Also remove saturation of D3DCOLOR when packing because values near 3 may be accepted, while unpacking D3DCOLOR gives values near 1.
This commit is contained in:
Triang3l
2018-05-31 14:13:49 +03:00
parent ec3ab0adbd
commit d61aff4389
3 changed files with 115 additions and 85 deletions

View File

@@ -64,7 +64,6 @@ enum XmmConst {
XMMByteOrderMask,
XMMPermuteControl15,
XMMPermuteByteMask,
XMMPackD3DCOLORSat,
XMMPackD3DCOLOR,
XMMUnpackD3DCOLOR,
XMMPackFLOAT16_2,
@@ -76,7 +75,13 @@ enum XmmConst {
XMMPackSHORT_2,
XMMPackSHORT_4,
XMMUnpackSHORT_2,
XMMUnpackSHORT_2_Min,
XMMUnpackSHORT_4,
XMMPackUINT_2101010_MinUnpacked,
XMMPackUINT_2101010_MaxUnpacked,
XMMPackUINT_2101010_MaskUnpacked,
XMMPackUINT_2101010_MaskPacked,
XMMPackUINT_2101010_Shift,
XMMOneOver255,
XMMMaskEvenPI16,
XMMShiftMaskEvenPI16,