   Invalid backbuffer formats
  I'm receiving this warning:Direct3D9: (WARN) :Invalid backbuffer format specifiedWhen calling Direct3D->CheckDeviceType() with certain formats. Does this warning mean my video card or hardware does not support the format or does the warning mean that the format is always invalid? I don't understand why Direct3D would warn me if I'm checking a format and it fails. That's why I was checking it [smile]Here are the formats I check, and I get three of the above warnings: D3DFMT_R8G8B8 (24 bit), D3DFMT_X8R8G8B8 (32 bit), D3DFMT_R5G6B5 (16 bit), D3DFMT_X1R5G5B5 (alt 16 bit), D3DFMT_P8 (8 bit), D3DFMT_L8 (greyscale).Thanks for your time   
  If only people read the documentation...The previous link lists the valid backbuffer formats. P8 and L8 aren't.   ;Quote:Original post by CoderIf only people read the documentation...The previous link lists the valid backbuffer formats. P8 and L8 aren't.I read the documentation quite a lot, but I missed that little list. I appreciate the slap in the face [smile]So Direct3D only supports 16 or 32 bit screen formats? That's strange. Some older cards only run in 24-bit mode.   ;  Thats weird (about the missing D3DMT_R8G8B8 format). Looks like DX9 cards are not allowed to provide that format for the backbuffer anymore.I remember testing on a laptop only able to do hardware acceleration in fullscreen 24 bit, nothing else.Well, it's not really going to be missed, 24 bit is a hassle.   ;Quote:Original post by EndurionI remember testing on a laptop only able to do hardware acceleration in fullscreen 24 bit, nothing else.Heh, my laptop was exactly why I was bringing it up [smile]   ;Quote:Original post by JiiaQuote:Original post by EndurionI remember testing on a laptop only able to do hardware acceleration in fullscreen 24 bit, nothing else.Heh, my laptop was exactly why I was bringing it up [smile]I believe it was allowed in D3D8. Either that, or it's a D3D9 documentation bug. I used to use R8G8B8 on my S3 Virge, back when I was learning Direct3D...(I don't use the card anymore, honest!)   ;  It was one of the formats that reported an invalid error, so it must not be a documentation bug. It's just not supported. Maybe the API will provide 32 bit emulation for 24 bit cards.   