view TODO @ 3162:dc1eb82ffdaa

Von: Thomas Zimmermann Betreff: [SDL] [PATCH] Make static variables const Datum: Tue, 19 May 2009 19:45:37 +0200 Hi, this is a set of simple changes which make some of SDL's internal static arrays constant. The purpose is to shrink the number of write-able static bytes and thus increase the number of memory pages shared between SDL applications. The patch set is against trunk@4513. Each of the attached patch files is specific to a sub-system. The set is completed by a second mail, because of the list's 40 KiB limit. The files readelf-r4513.txt and readelf-const-patch.txt where made by calling 'readelf -S libSDL.so'. They show the difference in ELF sections without and with the patch. Some numbers measured on my x86-64: Before [13] .rodata PROGBITS 00000000000eaaa0 000eaaa0 0000000000008170 0000000000000000 A 0 0 32 [19] .data.rel.ro PROGBITS 00000000003045e0 001045e0 00000000000023d0 0000000000000000 WA 0 0 32 [23] .data PROGBITS 00000000003076e0 001076e0 0000000000004988 0000000000000000 WA 0 0 32 After [13] .rodata PROGBITS 00000000000eaaa0 000eaaa0 0000000000009a50 0000000000000000 A 0 0 32 [19] .data.rel.ro PROGBITS 0000000000306040 00106040 0000000000002608 0000000000000000 WA 0 0 32 [23] .data PROGBITS 0000000000309360 00109360 0000000000002e88 0000000000000000 WA 0 0 32 The size of the write-able data section decreased considerably. Some entries became const-after-relocation, while most of its content went straight into the read-only data section. Best regards, Thomas
author Sam Lantinga <slouken@libsdl.org>
date Wed, 03 Jun 2009 04:37:27 +0000
parents 4a28c7c985b2
children 7a9740b1c1a8
line wrap: on
line source


1.3 release checklist:
 * Create jobs@libsdl.org
 * Implement landscape mode for iPhone port
 * Add higher precision timers for profiling
 * Implement YUV texture support
   - in progress, software support is done, Ryan is working on OpenGL shaders
 * Implement desktop video mode change notification?
 * Add OpenGL 3.0 context support
 * Finish multiple display support
 * Open windows on display that is selected when creating a window
 * Create testing plan - becoming more and more important...
   - unit tests for each feature and combination with expected output
     and actual output comparison.
 * Public license for SDL_compat.c, tests, and SDL_main*
 * Verify mouse grab support
 * Properly handle mouse grab with Vista DPI scaling
 * Make sure the mouse is where it's supposed to be when un-grabbed
 * Plan how to handle events on foreign windows
 * Add keyboard enumeration / name query API
 * Implement NET_WM_PING and NET_WM_PID/WM_CLIENT_MACHINE (?)
   - http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#KILLINGWINDOWS
 * Add a timeout parameter for SDL_WaitEvent() (?)
   - http://lists.libsdl.org/pipermail/sdl-libsdl.org/2008-May/thread.html#65067
 * Implement key repeat at the driver level
 * Add name -> keysym and name -> scancode lookup functions
 * Fix building haptic system on win32
 * Add always on top window styles
 * Add video modes that have an alpha channel?
 * Implement SDL_RenderReadPixels() for screenshots?

Wish list for the 1.3 development branch:
http://bugzilla.libsdl.org/

 * Add a way to register custom events
 * DirectInput joystick support needs to be implemented
 * Explicit vertical retrace wait (maybe separate from SDL_Flip?)
 * Shaped windows, windows without borders
 * Multiple display support
 * Add a timestamp to events
 * Add audio input API
 * Add modifier state to key and button events

In the jump from 1.2 to 1.3, we should change the SDL_Rect members to
int and evaluate all the rest of the datatypes.  This is the only place
we should do it though, since the 1.2 series should not break binary
compatibility in this way.

Requests:
 * PCM and CDROM volume control (deprecated, but possible)