Merged master fixes into D3DFormat branch
This commit is contained in:
commit
a0e3b13546
|
@ -107,7 +107,8 @@ static const FormatInfo FormatInfos[] = {
|
|||
// X_D3DFMT_L8 = 0x00,
|
||||
{ 8, Swizzled, NoComponents, XTL::D3DFMT_L8 },
|
||||
// X_D3DFMT_AL8 = 0x01,
|
||||
{ 8, Swizzled, NoComponents, XTL::D3DFMT_A4L4, "X_D3DFMT_AL8 -> D3DFMT_A4L4" }, // Was : D3DFMT_A8 // Cxbx NOTE: Hack: Alpha ignored, basically
|
||||
{ 8, Swizzled, NoComponents, XTL::D3DFMT_L8, "X_D3DFMT_AL8 -> D3DFMT_L8" }, // Cxbx NOTE: Hack: Alpha ignored, basically
|
||||
// TODO : { 8, Swizzled, _____AL8, XTL::D3DFMT_A8L8, "X_D3DFMT_AL8 -> D3DFMT_A8L8" }, // Was : D3DFMT_L8 // TODO : Requires conversion
|
||||
// X_D3DFMT_A1R5G5B5 = 0x02,
|
||||
{ 16, Swizzled, A1R5G5B5, XTL::D3DFMT_A1R5G5B5 },
|
||||
// X_D3DFMT_X1R5G5B5 = 0x03,
|
||||
|
@ -143,7 +144,8 @@ static const FormatInfo FormatInfos[] = {
|
|||
// X_D3DFMT_LIN_A8R8G8B8 = 0x12,
|
||||
{ 32, Linear, A8R8G8B8, XTL::D3DFMT_A8R8G8B8 },
|
||||
// X_D3DFMT_LIN_L8 = 0x13,
|
||||
{ 8, Linear, NoComponents, XTL::D3DFMT_L8 },
|
||||
{ 8, Linear, NoComponents, XTL::D3DFMT_UNKNOWN },
|
||||
// TODO : { 8, Linear, ______L8, XTL::D3DFMT_L8 },
|
||||
// undefined : 0x14,
|
||||
{ },
|
||||
// undefined : 0x15,
|
||||
|
@ -160,7 +162,8 @@ static const FormatInfo FormatInfos[] = {
|
|||
{ 16, Swizzled, NoComponents, XTL::D3DFMT_R5G6B5, "X_D3DFMT_A8L8 -> D3DFMT_R5G6B5" }, // Cxbx NOTE: HACK: Totally and utterly wrong :)
|
||||
// TODO : { 16, Swizzled, NoComponents, XTL::D3DFMT_A8L8 },
|
||||
// X_D3DFMT_LIN_AL8 = 0x1B,
|
||||
{ 8, Linear, NoComponents, XTL::D3DFMT_A4L4, "X_D3DFMT_LIN_AL8 -> D3DFMT_A4L4" },
|
||||
{ 8, Linear, NoComponents, XTL::D3DFMT_UNKNOWN },
|
||||
// TODO : { 8, Linear, _____AL8, XTL::D3DFMT_A8L8, "X_D3DFMT_LIN_AL8 -> D3DFMT_A8L8" }, // Was : D3DFMT_L8 // TODO : Requires conversion
|
||||
// X_D3DFMT_LIN_X1R5G5B5 = 0x1C,
|
||||
{ 16, Linear, X1R5G5B5, XTL::D3DFMT_X1R5G5B5 },
|
||||
// X_D3DFMT_LIN_A4R4G4B4 = 0x1D,
|
||||
|
@ -168,9 +171,11 @@ static const FormatInfo FormatInfos[] = {
|
|||
// X_D3DFMT_LIN_X8R8G8B8 = 0x1E, // Alias : X_D3DFMT_LIN_X8L8V8U8
|
||||
{ 32, Linear, X8R8G8B8, XTL::D3DFMT_X8R8G8B8 },
|
||||
// X_D3DFMT_LIN_A8 = 0x1F,
|
||||
{ 8, Linear, A8______, XTL::D3DFMT_A8 },
|
||||
{ 8, Linear, A8______, XTL::D3DFMT_L8 },
|
||||
// TODO : { 8, Linear, ______A8, XTL::D3DFMT_A8 },
|
||||
// X_D3DFMT_LIN_A8L8 = 0x20,
|
||||
{ 16, Linear, NoComponents, XTL::D3DFMT_A8L8 },
|
||||
{ 16, Linear, NoComponents, XTL::D3DFMT_UNKNOWN },
|
||||
// TODO : { 16, Linear, ____A8L8, XTL::D3DFMT_A8L8 },
|
||||
// undefined : 0x21,
|
||||
{ },
|
||||
// undefined : 0x22,
|
||||
|
@ -178,11 +183,11 @@ static const FormatInfo FormatInfos[] = {
|
|||
// undefined : 0x23,
|
||||
{ },
|
||||
// X_D3DFMT_YUY2 = 0x24,
|
||||
{ 8, Undefined, NoComponents, XTL::D3DFMT_YUY2 },
|
||||
{ 16, Undefined, NoComponents, XTL::D3DFMT_YUY2 },
|
||||
// X_D3DFMT_UYVY = 0x25,
|
||||
{ 16, Undefined, NoComponents, XTL::D3DFMT_UYVY },
|
||||
// undefined : 0x26,
|
||||
{ },
|
||||
{ 8, Undefined, NoComponents, XTL::D3DFMT_UYVY },
|
||||
// X_D3DFMT_L6V5U5 = 0x27, // Alias : X_D3DFMT_R6G5B5
|
||||
{ 16, Swizzled, __R6G5B5, XTL::D3DFMT_L6V5U5 }, // XQEMU NOTE: This might be signed
|
||||
// X_D3DFMT_V8U8 = 0x28, // Alias : X_D3DFMT_G8B8
|
||||
|
@ -214,19 +219,24 @@ static const FormatInfo FormatInfos[] = {
|
|||
// X_D3DFMT_LIN_L16 = 0x35,
|
||||
{ 16, Linear, NoComponents, XTL::D3DFMT_UNKNOWN },
|
||||
// X_D3DFMT_LIN_V16U16 = 0x36,
|
||||
{ 32, Linear, NoComponents, XTL::D3DFMT_V16U16 },
|
||||
{ 32, Linear, NoComponents, XTL::D3DFMT_UNKNOWN },
|
||||
// TODO : { 32, Linear, NoComponents, XTL::D3DFMT_V16U16 },
|
||||
// X_D3DFMT_LIN_L6V5U5 = 0x37, // Alias : X_D3DFMT_LIN_R6G5B5
|
||||
{ 16, Linear, __R6G5B5, XTL::D3DFMT_L6V5U5 }, // Untested...
|
||||
{ 16, Linear, __R6G5B5, XTL::D3DFMT_UNKNOWN },
|
||||
// TODO : { 16, Linear, __R6G5B5, XTL::D3DFMT_L6V5U5 },
|
||||
// X_D3DFMT_R5G5B5A1 = 0x38,
|
||||
{ 16, Swizzled, R5G5B5A1, XTL::D3DFMT_A1R5G5B5, "X_D3DFMT_R5G5B5A1 -> D3DFMT_A1R5G5B5" }, // TODO : Requires conversion
|
||||
{ 16, Swizzled, R5G5B5A1, XTL::D3DFMT_UNKNOWN },
|
||||
// TODO : { 16, Swizzled, R5G5B5A1, XTL::D3DFMT_A1R5G5B5, "X_D3DFMT_R5G5B5A1 -> D3DFMT_A1R5G5B5" }, // TODO : Requires conversion
|
||||
// X_D3DFMT_R4G4B4A4 = 0x39,
|
||||
{ 16, Swizzled, R4G4B4A4, XTL::D3DFMT_A4R4G4B4, "X_D3DFMT_R4G4B4A4 -> D3DFMT_A4R4G4B4" }, // TODO : Requires conversion
|
||||
{ 16, Swizzled, R4G4B4A4, XTL::D3DFMT_UNKNOWN },
|
||||
// TODO : { 16, Swizzled, R4G4B4A4, XTL::D3DFMT_A4R4G4B4, "X_D3DFMT_R4G4B4A4 -> D3DFMT_A4R4G4B4" }, // TODO : Requires conversion
|
||||
// X_D3DFMT_A8B8G8R8 = 0x3A, // Alias : X_D3DFMT_Q8W8V8U8
|
||||
{ 32, Swizzled, A8B8G8R8, XTL::D3DFMT_A8R8G8B8, "X_D3DFMT_A8B8G8R8 -> D3DFMT_A8R8G8B8" }, // Cxbx NOTE: HACK: R<->B Swapped!
|
||||
// TODO : // X_D3DFMT_Q8W8V8U8 = 0x3A, // Alias : X_D3DFMT_A8B8G8R8
|
||||
// TODO : { 32, Swizzled, NoComponents, XTL::D3DFMT_Q8W8V8U8 }, // Untested...
|
||||
// X_D3DFMT_B8G8R8A8 = 0x3B,
|
||||
{ 32, Swizzled, B8G8R8A8, XTL::D3DFMT_A8R8G8B8, "X_D3DFMT_B8G8R8A8 -> D3DFMT_A8R8G8B8" }, // TODO : Requires conversion
|
||||
{ 32, Swizzled, B8G8R8A8, XTL::D3DFMT_UNKNOWN },
|
||||
// TODO : { 32, Swizzled, B8G8R8A8, XTL::D3DFMT_A8R8G8B8, "X_D3DFMT_B8G8R8A8 -> D3DFMT_A8R8G8B8" }, // TODO : Requires conversion
|
||||
// X_D3DFMT_R8G8B8A8 = 0x3C,
|
||||
{ 32, Swizzled, R8G8B8A8, XTL::D3DFMT_UNKNOWN },
|
||||
// X_D3DFMT_LIN_R5G5B5A1 = 0x3D,
|
||||
|
@ -272,9 +282,10 @@ const XTL::ComponentEncodingInfo *XTL::EmuXBFormatComponentEncodingInfo(X_D3DFOR
|
|||
DWORD XTL::EmuXBFormatBitsPerPixel(X_D3DFORMAT Format)
|
||||
{
|
||||
if (Format <= X_D3DFMT_LIN_R8G8B8A8)
|
||||
return FormatInfos[Format].bits_per_pixel;
|
||||
if (FormatInfos[Format].bits_per_pixel > 0) // TODO : Remove this
|
||||
return FormatInfos[Format].bits_per_pixel;
|
||||
|
||||
return 8;
|
||||
return 16; // TODO : 8
|
||||
}
|
||||
|
||||
DWORD XTL::EmuXBFormatBytesPerPixel(X_D3DFORMAT Format)
|
||||
|
@ -295,7 +306,7 @@ BOOL XTL::EmuXBFormatIsLinear(X_D3DFORMAT Format)
|
|||
if (Format <= X_D3DFMT_LIN_R8G8B8A8)
|
||||
return (FormatInfos[Format].stored == Linear);
|
||||
|
||||
return false;
|
||||
return (Format == X_D3DFMT_VERTEXDATA); // TODO : false;
|
||||
}
|
||||
|
||||
BOOL XTL::EmuXBFormatIsSwizzled(X_D3DFORMAT Format)
|
||||
|
|
Loading…
Reference in New Issue