Mercurial > sdl-ios-xcode
view README.QNX @ 3168:6338b7f2d024
Hi,
I have prepared a set of patches to readd WindowsCE support to SDL 1.3.
I've created a new GAPI/Rawframebuffer and a DirectDraw renderer.
Both renderers are work in progress and there are several unimplemented
cases. (Notably
RenderLine/RenderPoint/RenderFill/QueryTexturePixels/UpdateTexture and
texture blending )
Nevertheless I am successfully using these renderers together with the
SDL software renderer. (On most devices the SDL software renderer will
be much faster as there are only badly optimized vendor drivers available)
I send these patches now in this unpolished state because there seems to
be some interest in win ce and someone has to start supporting SDL 1.3
Now on to the patches:
wince_events_window_fixes.patch
fixes some wince incompatibilities and adds fullscreen support via
SHFullScreen. NOTE: This patch shouldn't have any side effects on
Windows, but I have NOT tested it on Windows, so please double-check.
This patch doesn't dependent on the following ones.
wince_renderers_system.patch
This patch does all necessary modifications to the SDL system.
- it adds the renderers to the configure system
- it adds the renderers to win32video
SDL_ceddrawrender.c
SDL_ceddrawrender.h
SDL_gapirender_c.h
SDL_gapirender.c
SDL_gapirender.h
these files add the new render drivers and should be placed in
src/video/win32
Some notes to people who want to test this:
- I have only compiled sdl with ming32ce, so the VisualC files are not
up to date
- As mingw32ce has no ddraw.h this file must be taken from the MS SDK
and modified to work with gcc
- I had to modify line 2611 in configure.in to
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lcoredll -lcommctrl -lmmtimer
-Wl,--image-base -Wl,0x10000"
otherwise GetCPinfo wouldn't link. If someone knows whats causing this
I'd be happy to hear about it.
It would be great if these patches could make their way into SVN as this
would make collaboration much much easier.
I'm out of office for the next week and therefore will be unavailable
via email.
Regards
Stefan
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 07 Jun 2009 02:44:46 +0000 |
parents | 3cf236d3cd81 |
children | ec126b077b96 |
line wrap: on
line source
README.QNX by Mike Gorchak <mike@malva.ua>, <lestat@i.com.ua> Last changed at 23 Mar 2009. QNX Photon and GF drivers are being constructed. QNX QSA (QNX Sound Architecture) driver is ready. QNX CDROM driver is ready. QNX HID input driver is being constructed. ---------------------- -- SDL QSA driver -- ---------------------- Due to QNX Sound Architecture limitations software could not determine what playback channels are designed for, so some casus can be. For example, output after testmultiaudio test utility execution: Using audio driver: qsa playing on device #0: ('Vortex 8820 @ fb000000 d0')...done. playing on device #1: ('Vortex 8820 @ fb000000 d1')...done. playing on device #2: ('i8x0 @ d800 d0')...done. playing on device #3: ('i8x0 @ d800 d1')...done. playing on all devices... Open device 3 failed: QSA: snd_pcm_channel_params failed: Invalid argument If speakers are connected to both audio cards: Vortex 8820 and Intel Integrated Audio we can hear sound playback on device #0 and devices #2, #3 only. Device #1 is an unknown PCM channel which does not produce any sound. As for error during device #3 opening, it's caused by QSA software mixer channel, because it can't open real hardware device #2, since it's already opened by SDL. After simultaneous sound playback on all devices utility testmultiaudio stays running waiting for sound playback finish on device #1, which is locked up due to some Aureal Vortex 8820 driver limitations. --------------------- -- SDL GF driver -- --------------------- Here is an additional information about SDL GF driver: * 0. Introduction. * 1. Environment variables which SDL GF driver supports. * 2. Custom video modes. * 3. Limitations. 0. Introduction. SDL GF driver is a layer between SDL and QNX Graphics Framework (GF). SDL GF driver also supports OpenGL ES through the QNX Graphics Framework. Hardware accelerated features which SDL can support depend on real hardware capabilities. 1. Environment variables which GF driver supports. GF driver supports the following environment variables for QNX GF specific customization options: a) SDL_VIDEO_GF_REFRESH_RATE - refresh rate of video output in Hz. Without this environment variable declaration SDL controls refresh rate of your display. If this enironment variable is set to 0, SDL will control refresh rate of display, otherwise value of flag SDL_VIDEO_GF_REFRESH_RATE is used for all screen resolutions as refresh rate. This example will set 60Hz refresh rate as refresh rate for all graphics modes: export SDL_VIDEO_GF_REFRESH_RATE=60 2. Custom video modes. Since most QNX graphics drivers support GENERIC video modes, i.e. you can specify any horizontal and vertical resolution and any refresh rate, SDL GF driver uses its own fullscreen modes list, which can be incomplete. You can add any custom video mode, which your QNX graphics driver supports by editing file ./src/video/qnxgf/SDL_qnxgf.c. Custom graphics mode definition looks like this: {0, 1024, 640, 60, NULL}, /* 1024x640 mode is 60Hz only */ You must specify horizontal resolution as the second parameter, vertical resolution as the third one and refresh rate as the fourth parameter. Please leave the first and the last parameters as 0 and NULL. Then send me your changes to e-mail address which is specified in the header of this document. 3. Limitations. There are few limitations while using SDL GF driver: a) Since GF driver supports fullscreen modes only, when flag SDL_WINDOW_FULLSCREEN is not specified, SDL GF driver will try to find the fullscreen graphics mode which corresponds to SDL window size. Refresh rate will be the lowest available, if SDL_VIDEO_GF_REFRESH_RATE environment variable is not set. b) As confirmed by QSSL none of existing video drivers has support of doublescan low-resolution video modes. So modes below 640x480 are not supported. If your video driver supports low-resolution video modes, please add SDL_GF_LOWRESOLUTION flag to the gf_devicename array in the SDL_qnxgf.c source file. ------------------------- -- SDL Photon driver -- ------------------------- ---------------------------- -- SDL HID input driver -- ----------------------------