mirror of
https://github.com/yawut/SDL.git
synced 2026-04-05 00:24:55 -05:00
Scott Percival 2011-07-03 06:41:51 PDT This submission is aimed at making life easier for OpenGL ES capable devices running a X11 stack (e.g. Maemo, Meego, TrimSlice, other ARM SoC boards not running Android). SDL's Pandora support already has the neccesary GLES-to-X11 glue code, however it's all ghetto'd off in Makefile.pandora and not very flexible. The patch: - adds an awesome --enable-video-opengles option to configure - re-modifies the opengles and opengles2 SDL_renderers to use function pointers - no idea why this was removed? - for SDL_Renderers, links in libGLESv1_CM, libGLES_CM (for PowerVR fans) or libGLESv2 at runtime - links in libEGL.so at runtime - the old code made an assumption that eglFunctions could be pulled from the active GLES library, PowerVR for one doesn't let you do that with their libGLESv2 - allows you to pick which of GLES v1 or v2 to load via SDL_GL_CONTEXT_MAJOR_VERSION So far I've tested this on a Nokia N900 (OMAP 3430/SGX 530 running Maemo 5) and a Toshiba AC100 (Tegra 2 running Ubuntu 10.10). I haven't tested it on... well, everything that isn't those two, such as a Pandora, iOS or Android device. The Pandora specific code should be kept intact (fingers crossed), and nothing painfully drastic has been added to the SDL_renderers. The library loading sequence in SDL_x11opengles has been updated to accomodate both NVIDIA's propensity to let developers get away with murder and PowerVR's alternative of punishing every missed step. The test apps work okay with GLES or GLES2 as the renderer. For some reason alpha blending doesn't seem to work on the Tegra 2; last week NVIDIA pushed out a new set of X11 GLES drivers, so I'll try and investigate once I upgrade those. Also, this patch adds things to configure.in, include/SDL_config.h.in and test/configure.in. I didn't know what the policy was re. committing generated spaghetti from autotools, so ./autogen.sh has to be run again. Sorry. I think that's about everything, let me know if there's anything I've overlooked. |
||
|---|---|---|
| .. | ||
| automated | ||
| nds-test-progs | ||
| shapes | ||
| test-automation | ||
| acinclude.m4 | ||
| aclocal.m4 | ||
| autogen.sh | ||
| checkkeys.c | ||
| common.c | ||
| common.h | ||
| configure | ||
| configure.in | ||
| COPYING | ||
| gcc-fat.sh | ||
| graywin.c | ||
| icon.bmp | ||
| loopwave.c | ||
| Makefile.in | ||
| moose.dat | ||
| picture.xbm | ||
| README | ||
| sample.bmp | ||
| sample.wav | ||
| testalpha.c | ||
| testatomic.c | ||
| testaudioinfo.c | ||
| testbitmap.c | ||
| testblitspeed.c | ||
| testcursor.c | ||
| testdraw2.c | ||
| testdyngl.c | ||
| testdyngles.c | ||
| testerror.c | ||
| testfile.c | ||
| testfill.c | ||
| testgamma.c | ||
| testgesture.c | ||
| testgl.c | ||
| testgl2.c | ||
| testgles.c | ||
| testhaptic.c | ||
| testiconv.c | ||
| testime.c | ||
| testintersections.c | ||
| testjoystick.c | ||
| testkeys.c | ||
| testloadso.c | ||
| testlock.c | ||
| testmultiaudio.c | ||
| testnative.c | ||
| testnative.h | ||
| testnativecocoa.m | ||
| testnativew32.c | ||
| testnativex11.c | ||
| testoverlay.c | ||
| testoverlay2.c | ||
| testplatform.c | ||
| testpower.c | ||
| testresample.c | ||
| testrumble.c | ||
| testscale.c | ||
| testsem.c | ||
| testshader.c | ||
| testshape.c | ||
| testsprite.c | ||
| testsprite2.c | ||
| testspriteminimal.c | ||
| teststreaming.c | ||
| testthread.c | ||
| testtimer.c | ||
| testver.c | ||
| testvidinfo.c | ||
| testwin.c | ||
| testwm.c | ||
| testwm2.c | ||
| threadwin.c | ||
| torturethread.c | ||
| utf8.txt | ||
These are test programs for the SDL library: checkkeys Watch the key events to check the keyboard graywin Display a gray gradient and center mouse on spacebar loopwave Audio test -- loop playing a WAV file testalpha Display an alpha faded icon -- paint with mouse testaudioinfo Lists audio device capabilities testbitmap Test displaying 1-bit bitmaps testblitspeed Tests performance of SDL's blitters and converters. testcdrom Sample audio CD control program testcursor Tests custom mouse cursor testdyngl Tests dynamically loading OpenGL library testerror Tests multi-threaded error handling testfile Tests RWops layer testgamma Tests video device gamma ramp testgl A very simple example of using OpenGL with SDL testgl2 An even simpler example using the SDL 1.3 API testhread Hacked up test of multi-threading testiconv Tests international string conversion testjoystick List joysticks and watch joystick events testkeys List the available keyboard keys testloadso Tests the loadable library layer testlock Hacked up test of multi-threading and locking testmultiaudio Tests using several audio devices testoverlay Tests the software/hardware overlay functionality. testoverlay2 Tests the overlay flickering/scaling during playback. testpalette Tests palette color cycling testplatform Tests types, endianness and cpu capabilities testsem Tests SDL's semaphore implementation testshape Tests shaped windows testsprite Example of fast sprite movement on the screen testsprite2 Improved version of testsprite testtimer Test the timer facilities testver Check the version and dynamic loading and endianness testvidinfo Show the pixel format of the display and perfom the benchmark testwin Display a BMP image at various depths testwm Test window manager -- title, icon, events testwm2 Improved version of testwm threadwin Test multi-threaded event handling torturethread Simple test for thread creation/destruction