J'ai besoin de peu de votre temps pour tester un code sous Linux. Il faudrait retourner le contenu afficher par le débogueur et ajouter les information à propos de la version Linux et la carte graphique utilisée.
Merci à l'avance.
A+
Guimauve
Code : Tout sélectionner
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Nom du projet : Test Screen supporté par SDL
; Nom du fichier : SDL Screen Resolution Test.pb
; Version du fichier : 1.0.0
; Programmation : OK
; Programmé par : Guimauve
; Date : 20-02-2010
; Mise à jour : 20-02-2010
; Code PureBasic : 4.41
; Plateforme : Linux
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Import "/usr/lib/libSDL.so"
; <<<<<<<<<<<<<<<<<<<
; <<<<< General <<<<<
SDL_Init(Flag.l)
SDL_InitSubSystem(Flag.l)
SDL_QuitSubSystem(Flag.l)
SDL_Quit()
SDL_WasInit(Flag.l)
SDL_VERSION(*VersionA.SDL_version); --> Useless
SDL_GetError()
SDL_ClearError()
SDL_LoadObject(SO_file.s)
SDL_Linked_Version()
; SDL_SetError (const char *fmt, ...) ; --> À VALIDER
; SDL_Error(SDL_errorcode code) ; --> À VALIDER
; SDL_LoadFunction(*handle.i, Name.s) ; --> À VALIDER
; SDL_UnloadObject(*handle.i) ; --> À VALIDER
; <<<<<<<<<<<<<<<<<
; <<<<< Video <<<<<
SDL_GetVideoSurface()
SDL_GetVideoInfo()
SDL_VideoDriverName(namebuf.s, maxlen.l)
SDL_ListModes(*Format.SDL_PixelFormat, Flags.l)
SDL_VideoModeOK(Width.l, Height.l, BitsPerPixel.l, Flags.l)
SDL_SetVideoMode(Width.l, Height.l, BitsPerPixel.l, Flags.l)
SDL_UpdateRect(*Screen.SDL_Surface, x.l, y.l, Width.l, Height.l)
SDL_UpdateRects(*Screen.SDL_Surface, NumRects.l, *Rects.SDL_Rect)
SDL_Flip(*Screen.SDL_Surface)
SDL_SetColors(*Surface.SDL_Surface, *colors.SDL_Color, firstcolor.l, ncolors.l)
SDL_SetPalette(*Surface.SDL_Surface, Flags.l, *colors.SDL_Color, firstcolor.l, ncolors.l)
SDL_SetGamma(Red_gamma.f, Green_gamma.f, Blue_gamma.f)
SDL_MapRGB(*Format.SDL_PixelFormat, Red.a, Green.a, Blue.a)
SDL_MapRGBA(*Format.SDL_PixelFormat, Red.a, Green.a, Blue.a, Alpha.a)
SDL_GetRGB(Pixel.l, *Format.SDL_PixelFormat, *Red.a, *Green.a, *Blue.a) ; --> À VALIDER
SDL_GetRGBA(Pixel.l, *Format.SDL_PixelFormat, *Red.a, *Green.a, *Blue.a, *Alpha.a) ; --> À VALIDER
SDL_CreateRGBSurface(Flags.l, Width.l, Height.l, BitsPerPixel.l, Rmask.l, Gmask.l, Bmask.l, Amask.l)
SDL_CreateRGBSurfaceFrom(*pixels.i, Width.l, Height.l, Depth.l, Pitch.l, Rmask.l, Gmask.l, Bmask.l, Amask.l) ; --> À VALIDER
SDL_FreeSurface(*Surface.SDL_Surface)
SDL_LockSurface(*Surface.SDL_Surface)
SDL_UnlockSurface(*Surface.SDL_Surface)
SDL_ConvertSurface(*Source.SDL_Surface, *fmt.SDL_PixelFormat, Flags.l)
SDL_DisplayFormat(*Surface.SDL_Surface)
SDL_DisplayFormatAlpha(*Surface.SDL_Surface)
SDL_LoadBMP(FileName.s)
SDL_SaveBMP(*Surface.SDL_Surface, FileName.s)
SDL_SetColorKey(*Surface.SDL_Surface, Flag.l, Key.l)
SDL_SetAlpha(*Surface.SDL_Surface, Flags.l, Alpha.l)
SDL_SetClipRect(*Surface.SDL_Surface, *Rect.SDL_Rect)
SDL_GetClipRect(*Surface.SDL_Surface, *Rect.SDL_Rect)
SDL_BlitSurface(*Source.SDL_Surface, *SourceRect.SDL_Rect, *Dest.SDL_Surface, *DestRect.SDL_Rect)
SDL_FillRect(*Dest.SDL_Surface, *DestRect.SDL_Rect, Color.l)
; SDL_GetGammaRamp(Uint16 *redtable, Uint16 *greentable, Uint16 *bluetable) ; --> À VALIDER
; SDL_SetGammaRamp(Uint16 *redtable, Uint16 *greentable, Uint16 *bluetable) ; --> À VALIDER
SDL_GL_LoadLibrary(Path.s)
SDL_GL_GetProcAddress(Proc.s)
SDL_GL_GetAttribute(Attribute.l, *Value.l) ; --> À VALIDER
SDL_GL_SetAttribute(Attribute.l, Value.l) ; --> À VALIDER
SDL_GL_SwapBuffers()
SDL_CreateYUVOverlay(Width.l, Height.l, Format.l, *Display.SDL_Surface)
SDL_LockYUVOverlay(*Overlay.SDL_Overlay)
SDL_UnlockYUVOverlay(*Overlay.SDL_Overlay)
SDL_DisplayYUVOverlay(*Overlay.SDL_Overlay, *DestRect.SDL_Rect)
SDL_FreeYUVOverlay(*Overlay.SDL_Overlay)
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Window management <<<<<
SDL_WM_SetCaption(Title.s, Icon.s)
SDL_WM_SetIcon(*icon.SDL_Surface, *mask.a)
SDL_WM_IconifyWindow()
SDL_WM_ToggleFullScreen(*Surface.SDL_Surface)
SDL_WM_GrabInput(Mode.b)
; SDL_GetWMInfo(*info.SDL_SysWMinfo)
; SDL_WM_GetCaption(char **title, char **icon) ; À VALIDER
; <<<<<<<<<<<<<<<<<<
; <<<<< Events <<<<<
SDL_PumpEvents()
SDL_PeepEvents(*Events.SDL_Event, numevents.l, Action.l, Mask.l)
SDL_PollEvent(*Event.SDL_Event)
SDL_WaitEvent(*Event.SDL_Event)
SDL_PushEvent(*Event.SDL_Event)
SDL_GetEventFilter()
SDL_EventState(Type.a, State.l)
SDL_GetKeyState(*numkeys.l)
SDL_GetModState()
SDL_SetModState(Modstate.l)
SDL_GetKeyName(Key.l)
SDL_EnableUNICODE(Enable.l)
SDL_EnableKeyRepeat(Delay.l, Interval.l)
SDL_GetMouseState(*x.l, *y.l)
SDL_GetRelativeMouseState(*x.l, *y.l)
SDL_GetAppState()
SDL_JoystickEventState(State.l)
SDL_StartTextInput()
SDL_StopTextInput()
SDL_SetTextInputRect(*Rect.SDL_Rect)
; SDL_SetEventFilter(SDL_EventFilter filter) ; --> À VALIDER
; <<<<<<<<<<<<<<<<<
; <<<<< Mouse <<<<<
SDL_WarpMouse(x.w, y.w)
SDL_CreateCursor(*data_.a, *mask.a, w.l, h.l, hot_x.l, hot_y.l) ; À VALIDER
SDL_FreeCursor(*Cursor.SDL_Cursor)
SDL_SetCursor(*Cursor.SDL_Cursor)
SDL_GetCursor()
SDL_ShowCursor(Toggle.l)
; <<<<<<<<<<<<<<<<<<<<
; <<<<< Joystick <<<<<
SDL_NumJoysticks()
SDL_JoystickUpdate()
SDL_JoystickName(Index.l)
SDL_JoystickOpen(Index.l)
SDL_JoystickOpened(Index.l)
SDL_JoystickIndex(*JoystickA.i)
SDL_JoystickNumAxes(*JoystickA.i)
SDL_JoystickNumBalls(*JoystickA.i)
SDL_JoystickNumHats(*JoystickA.i)
SDL_JoystickNumButtons(*JoystickA.i)
SDL_JoystickClose(*JoystickA.i)
SDL_JoystickGetAxis(*JoystickA.i, Axis.l)
SDL_JoystickGetHat(*JoystickA.i, Hat.l)
SDL_JoystickGetButton(*JoystickA.i, Button.l)
SDL_JoystickGetBall(*JoystickA.i, Ball.l, *Dx.l, *Dy.l)
EndImport
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Macro de formatage <<<<<
Macro Format_SDL_Version(SDL_VersionA)
"SDL Version : " + StrU(SDL_VersionA\major, #PB_Byte) + "." + StrU(SDL_VersionA\minor, #PB_Byte) + "." + StrU(SDL_VersionA\patch, #PB_Byte)
EndMacro
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< L'opérateur Initialize <<<<<
Procedure InitializeSDL_version(*SDL_versionA.SDL_version)
*Version.SDL_version = SDL_Linked_Version()
CopyMemory(*Version, *SDL_versionA, SizeOf(SDL_version))
EndProcedure
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Code d'essai des résolutions avec lesquelles SDL peut travailler <<<<<
SDL_Init(#SDL_INIT_EVERYTHING)
InitializeSDL_version(SDL_version.SDL_version)
Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Debug "; " + Format_SDL_Version(SDL_Version)
Debug "; Screen Resolution test"
Debug ""
Restore ScreenRes
For Index = 0 To 63
Read.l Width.l
Read.l Height.l
Read.s Aspect.s
If SDL_VideoModeOK(Width, Height, 16, #SDL_FULLSCREEN) <> 0
Debug Str(Width) + " X " + Str(Height) + " X 16 (" + Aspect + ")"
EndIf
If SDL_VideoModeOK(Width, Height, 24, #SDL_FULLSCREEN) <> 0
Debug Str(Width) + " X " + Str(Height) + " X 24 (" + Aspect + ")"
EndIf
If SDL_VideoModeOK(Width, Height, 32, #SDL_FULLSCREEN) <> 0
Debug Str(Width) + " X " + Str(Height) + " X 32 (" + Aspect + ")"
EndIf
Next
SDL_Quit()
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Liste des résolutions standards <<<<<
DataSection
ScreenRes:
Data.l 640, 480
Data.s "4:3"
Data.l 640, 512
Data.s "5:4"
Data.l 720, 348
Data.s "60:29"
; 3
Data.l 720, 350
Data.s "72:35"
Data.l 720, 364
Data.s "180:91"
Data.l 768, 480
Data.s "16:10"
; 6
Data.l 800, 352
Data.s "25:11"
Data.l 800, 480
Data.s "5:3"
Data.l 800, 600
Data.s "4:3"
; 9
Data.l 832, 624
Data.s "4:3"
Data.l 856, 480
Data.s "16:9"
Data.l 960, 540
Data.s "16:9"
; 12
Data.l 960, 720
Data.s "4:3"
Data.l 1024,576
Data.s "16:9"
Data.l 1024,640
Data.s "16:10"
; 15
Data.l 1024,768
Data.s "4:3"
Data.l 1024,1024
Data.s "1:1"
Data.l 1120,832
Data.s "35:26"
; 18
Data.l 1152,720
Data.s "16:10"
Data.l 1152,768
Data.s "3:2"
Data.l 1152,864
Data.s "4:3"
; 21
Data.l 1152,900
Data.s "32:25"
Data.l 1280,768
Data.s "5:3"
Data.l 1280,800
Data.s "16:10"
; 24
Data.l 1280,854
Data.s "3:2"
Data.l 1280,960
Data.s "4:3"
Data.l 1280,1024
Data.s "5:4"
; 27
Data.l 1366,768
Data.s "16:9"
Data.l 1400,1050
Data.s "4:3"
Data.l 1440,900
Data.s "16:10"
; 30
Data.l 1440,1024
Data.s "45:32"
Data.l 1440, 1080
Data.s "4:3"
Data.l 1600,768
Data.s "25:12"
; 33
Data.l 1600,900
Data.s "16:9"
Data.l 1600,1024
Data.s "25:16"
Data.l 1600,1200
Data.s "4:3"
; 36
Data.l 1680,1050
Data.s "16:10"
Data.l 1792,1344
Data.s "4:3"
Data.l 1800,1440
Data.s "5:4"
; 39
Data.l 1856,1392
Data.s "4:3"
Data.l 1920,1080
Data.s "16:9"
Data.l 1920,1200
Data.s "16:10"
Data.l 1920,1400
Data.s "48:35"
; 42
Data.l 1920,1440
Data.s "4:3"
Data.l 2048,1152
Data.s "16:9"
Data.l 2048,1536
Data.s "4:3"
; 45
Data.l 2304,1440
Data.s "16:10"
Data.l 2560,1440
Data.s "16:9"
Data.l 2560,1600
Data.s "16:10"
; 48
Data.l 2560,1920
Data.s "4:3"
Data.l 2560,2048
Data.s "5:4"
Data.l 2800,2100
Data.s "4:3"
; 51
Data.l 3200,2048
Data.s "25:16"
Data.l 3200,2400
Data.s "4:3"
Data.l 3840,2160
Data.s "16:9"
; 54
Data.l 3840,2400
Data.s "16:10"
Data.l 4096,2304
Data.s "16:9"
Data.l 4096,3072
Data.s "4:3"
; 57
Data.l 5120,3200
Data.s "16:10"
Data.l 5120,4096
Data.s "5:4"
Data.l 6400,4096
Data.s "5:4"
; 60
Data.l 6400,4800
Data.s "4:3"
Data.l 7680,4320
Data.s "16:9"
Data.l 7680,4800
Data.s "16:10"
; 63
EndDataSection
; <<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< FIN DU FICHIER <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<
GNU/Linux Ubuntu 9.10 x64Message du débogueur a écrit :; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; SDL Version : 1.2.13
; Screen Resolution test
640 X 480 X 16 (4:3)
640 X 480 X 24 (4:3)
640 X 480 X 32 (4:3)
640 X 512 X 16 (5:4)
640 X 512 X 24 (5:4)
640 X 512 X 32 (5:4)
720 X 348 X 16 (60:29)
720 X 348 X 24 (60:29)
720 X 348 X 32 (60:29)
720 X 350 X 16 (72:35)
720 X 350 X 24 (72:35)
720 X 350 X 32 (72:35)
720 X 364 X 16 (180:91)
720 X 364 X 24 (180:91)
720 X 364 X 32 (180:91)
768 X 480 X 16 (16:10)
768 X 480 X 24 (16:10)
768 X 480 X 32 (16:10)
800 X 352 X 16 (25:11)
800 X 352 X 24 (25:11)
800 X 352 X 32 (25:11)
800 X 480 X 16 (5:3)
800 X 480 X 24 (5:3)
800 X 480 X 32 (5:3)
800 X 600 X 16 (4:3)
800 X 600 X 24 (4:3)
800 X 600 X 32 (4:3)
832 X 624 X 16 (4:3)
832 X 624 X 24 (4:3)
832 X 624 X 32 (4:3)
856 X 480 X 16 (16:9)
856 X 480 X 24 (16:9)
856 X 480 X 32 (16:9)
960 X 540 X 16 (16:9)
960 X 540 X 24 (16:9)
960 X 540 X 32 (16:9)
960 X 720 X 16 (4:3)
960 X 720 X 24 (4:3)
960 X 720 X 32 (4:3)
1024 X 576 X 16 (16:9)
1024 X 576 X 24 (16:9)
1024 X 576 X 32 (16:9)
1024 X 640 X 16 (16:10)
1024 X 640 X 24 (16:10)
1024 X 640 X 32 (16:10)
1024 X 768 X 16 (4:3)
1024 X 768 X 24 (4:3)
1024 X 768 X 32 (4:3)
1024 X 1024 X 16 (1:1)
1024 X 1024 X 24 (1:1)
1024 X 1024 X 32 (1:1)
1120 X 832 X 16 (35:26)
1120 X 832 X 24 (35:26)
1120 X 832 X 32 (35:26)
1152 X 720 X 16 (16:10)
1152 X 720 X 24 (16:10)
1152 X 720 X 32 (16:10)
1152 X 768 X 16 (3:2)
1152 X 768 X 24 (3:2)
1152 X 768 X 32 (3:2)
1152 X 864 X 16 (4:3)
1152 X 864 X 24 (4:3)
1152 X 864 X 32 (4:3)
1152 X 900 X 16 (32:25)
1152 X 900 X 24 (32:25)
1152 X 900 X 32 (32:25)
1280 X 768 X 16 (5:3)
1280 X 768 X 24 (5:3)
1280 X 768 X 32 (5:3)
1280 X 800 X 16 (16:10)
1280 X 800 X 24 (16:10)
1280 X 800 X 32 (16:10)
1280 X 854 X 16 (3:2)
1280 X 854 X 24 (3:2)
1280 X 854 X 32 (3:2)
1280 X 960 X 16 (4:3)
1280 X 960 X 24 (4:3)
1280 X 960 X 32 (4:3)
1280 X 1024 X 16 (5:4)
1280 X 1024 X 24 (5:4)
1280 X 1024 X 32 (5:4)
1366 X 768 X 16 (16:9)
1366 X 768 X 24 (16:9)
1366 X 768 X 32 (16:9)
1400 X 1050 X 16 (4:3)
1400 X 1050 X 24 (4:3)
1400 X 1050 X 32 (4:3)
1440 X 900 X 16 (16:10)
1440 X 900 X 24 (16:10)
1440 X 900 X 32 (16:10)
1440 X 1024 X 16 (45:32)
1440 X 1024 X 24 (45:32)
1440 X 1024 X 32 (45:32)
1440 X 1080 X 16 (4:3)
1440 X 1080 X 24 (4:3)
1440 X 1080 X 32 (4:3)
1600 X 768 X 16 (25:12)
1600 X 768 X 24 (25:12)
1600 X 768 X 32 (25:12)
1600 X 900 X 16 (16:9)
1600 X 900 X 24 (16:9)
1600 X 900 X 32 (16:9)
1600 X 1024 X 16 (25:16)
1600 X 1024 X 24 (25:16)
1600 X 1024 X 32 (25:16)
1600 X 1200 X 16 (4:3)
1600 X 1200 X 24 (4:3)
1600 X 1200 X 32 (4:3)
1680 X 1050 X 16 (16:10)
1680 X 1050 X 24 (16:10)
1680 X 1050 X 32 (16:10)
1920 X 1080 X 16 (16:9)
1920 X 1080 X 24 (16:9)
1920 X 1080 X 32 (16:9)
1920 X 1200 X 16 (16:10)
1920 X 1200 X 24 (16:10)
1920 X 1200 X 32 (16:10)
Carte graphique :
* ZOTAC GeForce GTX 295
* Core Clock: 576MHz
* Core Processors: 480 (240 x 2) stream processors
* Memory Clock: 1998MHz
* Memory Type: GDDR3
* Memory Interface: 896-bit (448 x 2)-bit
* Memory Size: 1792MB