mirror of
https://github.com/joel16/SDL2.git
synced 2024-12-13 14:07:38 +00:00
169fcbaa21
From: "Greg Haerr" Subject: Announce: sdl-nanox-patch Sam, I've created an update patch for enhanced Nano-X support with SDL. I've created the patch against SDL-1.2.4. I'd appreciate it if you would apply it to the next SDL version. Enhancements include: 1. Small bugfixes to compile without errors 2. Support for direct client-side framebuffer access with configure option 3. Add dynamic pixel type support for hardware framebuffer; eliminating the need for compile-time configuration option. I've updated the README.NanoX file with the details. This version has been tested with Microwindows v0.89pre9 CVS and SMPEG 0.4.4. I've added multi-threading support to Microwindows to support the multi-threaded SMPEG, and all works fine. To turn on thread safety in Microwindows, use THREADSAFE=Y in the Microwindows config file. Thanks! Regards, Greg Founder, The Microwindows Project http://microwindows.org --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40472
98 lines
3.4 KiB
Plaintext
98 lines
3.4 KiB
Plaintext
=================================================================
|
|
Patch version 0.9 of SDL(Simple DirectMedia Layer) for Nano-X API
|
|
=================================================================
|
|
|
|
Authors: Hsieh-Fu Tsai, clare@setabox.com
|
|
Greg Haerr, greg@censoft.com
|
|
|
|
This patch is against SDL version 1.2.4.
|
|
It enhances previous patch 0.8 by providing direct framebuffer
|
|
access as well as dynamic hardware pixel type support, not
|
|
requiring a compile-time option setting for different framebuffer
|
|
modes.
|
|
Tested against Microwindows version 0.89pre9.
|
|
|
|
Older Microwindows versions
|
|
===========================
|
|
If running on a version older than Microwindows 0.89pre9,
|
|
the following items might need to be patched in Microwindows.
|
|
|
|
1. Patch src/nanox/client.c::GrClose()
|
|
It fixes the client side GrClose(). In the original version,
|
|
GrOpen() can only be called once. When the GrOpen() is called at
|
|
the second time, the program will terminate. In order to prevent
|
|
this situation, we need to insert "nxSocket = -1" after
|
|
"close(nxSocket)" in GrClose(). If you do not have this problem,
|
|
you may skip this step.
|
|
|
|
2. Patch src/nanox/clientfb.c to return absolute x,y coordinates
|
|
when using GrGetWindowFBInfo(). Copy the version 0.89pre9
|
|
of src/nanox/clientfb.c to your system, or configure
|
|
using --disable-nanox-direct-fb.
|
|
|
|
=============
|
|
Quick Install
|
|
=============
|
|
|
|
1. ./configure --disable-video-x11 --disable-video-fbcon \
|
|
--enable-video-nanox \
|
|
--with-nanox-pixel-type=[rgb/0888/888/565/555/332/pal]
|
|
2. make clean
|
|
3. make
|
|
4. make install (as root)
|
|
|
|
============
|
|
Nitty-gritty
|
|
============
|
|
|
|
--enable-nanox-direct-fb Use direct framebuffer access
|
|
--enable-nanox-debug Show debug messages
|
|
--enable-nanox-share-memory Use shared-memory to speed up
|
|
|
|
When running multi-threaded applications using SDL, such
|
|
as SMPEG, set THREADSAFE=Y in Microwindows' config file,
|
|
to enable GrXXX() system call critical section support.
|
|
|
|
=============================================
|
|
Some programs can be used to test this patch.
|
|
=============================================
|
|
|
|
1. http://www.cs.berkeley.edu/~weimer/atris (a tetris-like game)
|
|
2. http://www.libsdl.org/projects/newvox/
|
|
3. http://www.libsdl.org/projects/xflame/
|
|
4. http://www.libsdl.org/projects/optimum/
|
|
5. http://www.gnugeneration.com/software/loop/
|
|
6: http://www.lokigames.com/development/smpeg.php3 (SMPEG version 0.4.4)
|
|
|
|
=========
|
|
Todo List
|
|
=========
|
|
|
|
1. Create hardware surface
|
|
2. Create YUVOverlay on hardware
|
|
3. Use OpenGL
|
|
4. Gamma correction
|
|
5. Hide/Change mouse pointer
|
|
6. Better window movement control with direct fb access
|
|
7. Palette handling in 8bpp could be improved
|
|
|
|
=====================
|
|
Supporting Institutes
|
|
=====================
|
|
|
|
Many thanks to go to Setabox Co., Ltd. and CML (Communication and
|
|
Multimedia Laboratory, http://www.cmlab.csie.ntu.edu.tw/) in the
|
|
Department of Computer Science and Information Engineering of
|
|
National Taiwan University for supporting this porting project.
|
|
|
|
Century Embedded Technologies (http://embedded.censoft.com)
|
|
for this patch.
|
|
|
|
===================
|
|
Contact Information
|
|
===================
|
|
|
|
Welcome to give me any suggestion and to report bugs.
|
|
My e-mail address : clare@setabox.com or niky@cmlab.csie.ntu.edu.tw
|
|
or greg@censoft.com
|