switch(Format){case WINED3DFMT_X8R8G8B8:case WINED3DFMT_R8G8B8:case WINED3DFMT_A8R8G8B8:case WINED3DFMT_A2R10G10B10:case WINED3DFMT_X1R5G5B5:case WINED3DFMT_A1R5G5B5:case WINED3DFMT_R5G6B5:case WINED3DFMT_X4R4G4B4:case WINED3DFMT_A4R4G4B4:case WINED3DFMT_R3G3B2:case WINED3DFMT_A8P8:case WINED3DFMT_P8:/* taken from utils.c/getColorBits() */break;default:/* getColorBits doesn't work here, so avoid the silly error messages. */return FALSE;}
As you mention in the bug report, this is not a proper fix. We should probably fix the format table to use a shift and a bitcount.