diff README.QNX @ 663:8bedd6d61642

Date: Sat, 2 Aug 2003 16:22:51 +0300 From: "Mike Gorchak" Subject: New patches for QNX6 Here my patches for the SDL/QNX: QNXSDL.diff - diff to non-QNX related sources: - updated BUGS file, I think QNX6 is now will be officially supported - configure.in - added shared library support for QNX, and removed dependency between the ALSA and QNX6. - SDL_audio.c - added QNX NTO sound bootstrap insted of ALSA's. - SDL_sysaudio.h - the same. - SDL_nto_audio.c - the same. - SDL_video.c - right now, QNX doesn't offer any method to obtain pointers to the OpenGL functions by function name, so they must be hardcoded in library, otherwise OpenGL will not be supported. - testsprite.c - fixed: do not draw vertical red line if we are in non-double-buffered mode. sdlqnxph.tar.gz - archive of the ./src/video/photon/* . Too many changes in code to make diffs :) : + Added stub for support hide/unhide window event + Added full YUV overlays support. + Added window maximize support. + Added mouse wheel events. + Added support for some specific key codes in Unicode mode (like ESC). + Added more checks to the all memory allocation code. + Added SDL_DOUBLEBUF support in all fullscreen modes. + Added fallback to window mode, if desired fullscreen mode is not supported. + Added stub support for the GL_LoadLibrary and GL_GetProcAddress functions. + Added resizable window support without caption. ! Fixed bug in the Ph_EV_EXPOSE event handler, when rectangles to update is 0 and when width or height of the rectangle is 0. ! Fixed bug in the event handler code. Events has not been passed to the window widget handler. ! Fixed codes for Win keys (Super/Hyper/Menu). ! Fixed memory leak, when deallocation palette. ! Fixed palette emulation code bugs. ! Fixed fullscreen and hwsurface handling. ! Fixed CLOSE button bug. First event was passed to the handler, but second terminated the application. Now all events passed to the application correctly. - Removed all printfs in code, now SDL_SetError used instead of them. - Disabled ToggleFullScreen function. README.QNX - updated README.QNX file. Added much more issues.
author Sam Lantinga <slouken@libsdl.org>
date Mon, 04 Aug 2003 00:52:42 +0000
parents bce7171e7a85
children 04dd6c6d7c30
line wrap: on
line diff
--- a/README.QNX	Mon Jul 28 01:47:55 2003 +0000
+++ b/README.QNX	Mon Aug 04 00:52:42 2003 +0000
@@ -1,27 +1,94 @@
 README by Mike Gorchak <mike@malva.ua>, <lestat@i.com.ua>
+Last changed at 29 Jul 2003.
+
+=========================================================================
+OpenGL:
 
     OpenGL in window mode  works well  and  stable, in fullscreen
-mode too, but fullscreen mode has not been heavily tested.
-    If you have QNX RtP 6.1.0 w/ or w/o Patch A you must download
-new Photon3D runtime from http://developers.qnx.com. The versions
-of OS before 6.1.0 are not supported.
+mode too, but fullscreen mode has not been heavily tested yet.
+    If you have QNX RtP version 6.1.0 and above you must download
+new Photon3D runtime from http://developers.qnx.com or install it
+from public repository or from public CD, available with QNX. The
+versions of OS before 6.1.0 are not supported.
+    While  creating  OpenGL  context  software  renderer  mode is
+artificially selected (QSSL  made  acceleration  only for  Voodoo
+boards in fullscreen mode, sorry but I  don't have  this board to
+test OpenGL - maybe it work or maybe not :)). If you want accele-
+ration - you may remove some line in source code: find  the  file
+SDL_ph_video.c and remove the following
+
+    OGLAttrib[OGLargc++]=PHOGL_ATTRIB_FORCE_SW;
+     
+line in the ph_SetupOpenGLContext() function or  change  argument
+to the PHOGL_ATTRIB_FORCE_HW or PHOGL_ATTRIB_FAVOR_HW.
+
+=========================================================================
+Wheel and multibutton mouses:
+
+    Photon emitting keyboard events (key up and down) when  moved
+mouse wheel. But key_scan field appears valid according to flags,
+and it contain zero. It is base method of detecting  mouse  wheel
+events under photon. It looks like a hack, but it works for me :)
+on different PC configurations.
+
+I'm tested it on:
+
+1. Genius Optical NetScroll/+ (1 wheel)
+2. A4Tech Optical GreatEye WheelMouse, model: WOP-35. (2 wheels +
+   2 additional buttons). Wheel for vertical scrolling  works  as
+   usual, but second wheel for horizontal scrolling emitting  two
+   consequented events up or down, so it can  provide  more  fast
+   scrolling then the  first  wheel. Additional  buttons  doesn't
+   emitting any events, but its look like  handled by  photon  in
+   unusual way - like click to front, but works not with any win-
+   dow, looks like bug-o-feature :).
+
+=========================================================================
+CDROM handling issues:
 
-Problems:
-1. While  creating  OpenGL  context  software  renderer  mode  is
-   artificially selected (QSSL made acceleration only for  Voodoo
-   boards in fullscreen mode, sorry but I don't have  this board,
-   if you want acceleration - you may remove some line  in source
-   code).
-2. Photon has some errors in detecting  how  much bits  per pixel
-   videomode has.
-3. No  shared  libraries  yet.  We  need  manually  set  flag  to
-   'configure' --disable-shared.
-4. Due to Photon API limitation, flag SDL_HWSURFACE supported on-
-   ly in case of desktop bpp is equal requested bpp in window mo-
-   de.
+    Access to CDROM can be provided only with 'root'  previleges.
+I can't do anything with this fact. /dev/cd0 have  the brw-------
+flags and root:root rights.
+
+=========================================================================
+Video Overlays:
 
+    Overlays can flickering during the window movement, resizing,
+etc. It happens because photon driver  updates  the  real  window
+contents behind the overlay, then draws the temporary  chroma key
+color over window contents. It can be done without the chroma key
+using but it cause overlay will be  always  on top. So flickering
+during the movement much better in that case.
+    Double buffering code temporary disabled in the photon driver
+code, beacuse on my GF2-MX it  cause  accidently  buffer  switch,
+which going to the old frame showing. S3 Savage3D have  the  same
+problem, but ATI Rage 128 has not this problem. I think it can be
+fixed later. Current code works very fine, so maybe double buffe-
+ring is not needed right now.
+    Something strange appears when you tried to move window  with
+overlay beyond the left border of the screen. Overlay  trying  to
+stay at position x=0, but when tried to move  it  a  bit  more it
+jumps  at  posituin  x=-60. Really  strange, looks  like  overlay
+doesn't love the negotive coordinates.
+
+=========================================================================
+Shared library building:
+
+    Shared  library can be  built, but before  running autogen.sh
+script you  need  manually  delete  the  libtool  m4  stuff  from
+the acinclude.m4 file (it comes after ESD  detection  code  up to
+end of the file). Because libtool stuff in the  acinclude.m4 file
+very old and doesn't know anything about the QNX. Just  remove it
+and run autogen.sh script.
+
+=========================================================================
 Some building issues:
 
+    Feel free to not pass --disable-shared option  to  configure,
+if you read comment above about 'Shared library building'. Other-
+wise this option is strongly  recomended, because  the sdl-config
+script will be unfunctional.
+
     Run configure script without x11 support, e.g.:
 
     a) for OpenGL support:
@@ -42,3 +109,4 @@
                  --with-sdl-exec-prefix=/usr/local \
                  --prefix=/usr/local --without-x
 
+