Invalid backbuffer formats

Started by
5 comments, last by Jiia 18 years, 10 months ago
I'm receiving this warning: Direct3D9: (WARN) :Invalid backbuffer format specified When 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
Advertisement
If only people read the documentation...
The previous link lists the valid backbuffer formats. P8 and L8 aren't.

Quote:Original post by Coder
If 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.

Fruny: Ftagn! Ia! Ia! std::time_put_byname! Mglui naflftagn std::codecvt eY'ha-nthlei!,char,mbstate_t>

Quote:Original post by Endurion
I 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 Jiia
Quote:Original post by Endurion
I 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.

This topic is closed to new replies.

Advertisement