[SDL + C++] hw_available geeft false?

Pagina: 1
Acties:

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 07-05 12:51
In SDL is er een handige struct waarmee je informatie over de videokaart kunt verkrijgen:

C++:
1
2
const SDL_VideoInfo *info;
info = SDL_GetVideoInfo();


Deze informatie gebruik ik om te bepalen of ik hardware accelerated surfaces kan aanmaken. Zoiets gebruik ik:

C++:
1
2
3
4
5
6
Uint32 videoflags;
videoflags = SDL_DOUBLEBUF;
if (info->hw_available)
    videoflags |= SDL_HWSURFACE;
else
    videoflags |= SDL_SWSURFACE;


Maar nu is het zo dat ik ALTIJD een software surface krijg toegewezen omdat info->hw_available altijd false is. Als ik handmatig een hardware surface aanmaak werkt alles perfect. Weet iemand hoe dit komt?

Redhat Linux 9.0
libSDL 1.2.5-3
nvidia drivers 4363 voor GeForce Ti4600, werkend

BVD :)

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 07-05 12:51
Ik heb het vidinfotest-programma'tje uit de source van libSDL gecompileerd en gedraaid, deze geeft ook aan dat er helemaal geen hardware acceleratie kan plaatsvinden. Echter, als ik de HW-flags gebruik, werkt alles perfect. Hoe dit te doen? :?

  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Ik heb geen idee, maar ik neem aan dat er wel een mailinglijst voor libSDL is waar ze je kunnen helpen als jij het fout mocht doen. En als jij het goed doet horen ze waarschijnlijk ook wel graag over situaties waar SDL_GetVideoInfo niet de juiste info retourneert.

"He took a duck in the face at two hundred and fifty knots."