Commit Graph

2697 Commits

Author SHA1 Message Date
Bob Pendleton
b969957bcb OK, had to add some casts to get SDL_atomic.h to compile with C++. testatomic still compiles and runs. 2009-06-09 19:39:23 +00:00
Bob Pendleton
361a88d8db First commit for SDL atomic operations.
On my linux box it compiles and installs correctly and testatomic runs without errors.
2009-06-09 17:33:44 +00:00
Bob Pendleton
6170e003a1 zeroing out the rest of the unititialize fields in mouse motion events. 2009-06-09 15:45:33 +00:00
Mike Gorchak
181b01f4cb 1. SDL_CreateTextureFromSurface() now tries to find surface's pixel format.
2. SDL_CreateTextureFromSurface() now has best texture format search for non-alpha pixel formats.
3. Added comparision for pixels packed order to the video mode sorting callback to avoid mixing 1555/565/4444 pixel formats.
4. Added sorting call for current video mode list after each new video mode addition, because SDL_GetClosestDisplayMode() requires video modes to be sorted, and this is one place only where we can detect video modes addition.
2009-06-09 08:56:43 +00:00
Sam Lantinga
93690caff9 Fixed 4 bit-per-pixel definition. Thanks Mike! 2009-06-09 04:34:50 +00:00
Bob Pendleton
e6138ea9b7 make sure that mouse.z == 0 until it is used. 2009-06-09 03:27:48 +00:00
Mike Gorchak
3f23cab959 Fixed support for 4bpp video modes enumeration, otherwise mode with zero bpp appears in the list. 2009-06-08 21:00:52 +00:00
Bob Pendleton
09e48fa834 Fixed some typos and added a couple of includes. All were need to get SDL_power to compile on Linux.
Sam, you might want to check to see that the spellings I picked are the spellings you wanted.
2009-06-08 19:24:38 +00:00
Ryan C. Gordon
fdfe1d4f41 BeOS support for power subsystem. 2009-06-07 22:44:59 +00:00
Ryan C. Gordon
3f43a1f614 Reverted bogus change to SDLTest xcode project. 2009-06-07 06:49:01 +00:00
Ryan C. Gordon
ed74778bf6 Added power subsystem to Xcode project. 2009-06-07 06:42:15 +00:00
Ryan C. Gordon
1a2c2eebd2 Initial work on power subsystem for SDL 1.3. 2009-06-07 06:06:35 +00:00
Sam Lantinga
218766a241 indent 2009-06-07 02:45:55 +00:00
Sam Lantinga
62c7087a99 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
2009-06-07 02:44:46 +00:00
Bob Pendleton
0a28ca5681 Added a #ifndef SDL_NO_COMPAT around SDL_ActiveEvent and SDL_ResizeEvent so that code
that has a #defien SDL_NO_COMPAT before the #include SDL.h with not be able to use
these obsolete events.
2009-06-05 23:36:00 +00:00
Mike Gorchak
d89513cb8e Best pixel formats with alpha search code has been added to function which converts surface to texture with enabled color keys. Now "testsprite2 --renderer opengl_es" works fine with all pixel formats with alpha. This affects other renderers too. 2009-06-05 07:35:06 +00:00
Mike Gorchak
bb4afb26ac QNX quirk has been added, QNX OpenGL ES implementation is broken regarding support of textures with packed pixel formats. 2009-06-05 07:30:51 +00:00
Bob Pendleton
b2f976f8de Added an ifdef so that if you
#define SDL_NO_COMPAT

before you include SDL.h then SDL_compat.h will never be included in your code.
This is useful for making sure that your code uses only SDL 1.3 features.
It is also handy for finding things that are in SDL_compat.h that belong elsewhere.
2009-06-04 21:00:45 +00:00
Mike Gorchak
bd93cb0220 Support for BGR565 pixel format has been added, mainly for OpenGL ES renderer. OpenGL ES renderer now have new texture formats. 2009-06-03 10:40:44 +00:00
Sam Lantinga
306f1dc431 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
2009-06-03 04:37:27 +00:00
Sam Lantinga
a7a0cefe2a OpenPandora support added by David Carré 2009-05-31 11:53:12 +00:00
Sam Lantinga
8a25c7d1e0 error message typo fix 2009-05-28 09:39:14 +00:00
Sam Lantinga
83d7309416 indent 2009-05-23 22:41:08 +00:00
Mike Gorchak
1491423d60 Few new video modes have been added. 2009-05-15 15:47:37 +00:00
Mike Gorchak
5166d1ba84 More checks for current GF state were added. 2009-05-14 11:51:42 +00:00
Mike Gorchak
a0f9e311d5 Set audio device handle to NULL in case of open was not successful. 2009-05-14 11:50:05 +00:00
Mike Gorchak
fd6b697764 OpenGL ES renderer state fixes. Now GL_TEXTURE_2D is not enabled by default. 2009-05-14 10:54:34 +00:00
Sam Lantinga
e55e6dea02 Reminder to implement landscape mode for iPhone 2009-05-07 12:50:55 +00:00
Sam Lantinga
1ca04d4468 Temporary workaround for building on 64-bit Mac OS X 2009-05-07 12:27:42 +00:00
Sam Lantinga
78c6fc38ac Fixed dynamic loading on Windows CE 2009-05-07 12:04:53 +00:00
Mike Gorchak
fb58f10acf Added few OpenGL ES 1.0 defines, which are not present in OpenGL ES 1.1 and 2.0. 2009-05-06 09:46:55 +00:00
Mike Gorchak
de2c54fa79 Added _OES suffix for GL_OES_vertex_buffer_object extension for OpenGL ES. 2009-05-06 07:00:32 +00:00
Mike Gorchak
f894d68e55 Added support for single buffering, if double buffering is not available. 2009-05-05 17:50:34 +00:00
Mike Gorchak
4536d205e5 Added handler for all window events. 2009-05-05 17:47:41 +00:00
Mike Gorchak
665dff927c GF header must be included before Photon header for QNX. 2009-04-28 06:04:21 +00:00
Mike Gorchak
99bee5d98e Added hiddi library linkage when GF target is available for QNX 2009-04-28 04:46:05 +00:00
Mike Gorchak
62b9cc7933 New last cursor position must rely on the clamped coordinates. 2009-04-28 04:43:21 +00:00
Mike Gorchak
d6599a968a Default video mode has been changed from 320x200 to 640x480, since fullscreen 320x200 is often unavailable. 2009-04-28 04:41:25 +00:00
Mike Gorchak
4652a067c9 Added OpenGL ES context creation for the each window which has been created (for --windows=N option). 2009-04-28 04:38:51 +00:00
Mike Gorchak
8a34711a2c Support for HID devices (mice and keyboards only for now) has been added 2009-04-28 04:33:30 +00:00
Mike Gorchak
835d78cd32 Continue working on QNX Photon with OpenGL ES support 2009-04-28 04:30:52 +00:00
Mike Gorchak
68dd913372 Update README for QNX 6.x 2009-04-24 03:46:54 +00:00
Sam Lantinga
cd8c60a6f6 Added a reminder for the jobs mailing list 2009-04-13 09:33:55 +00:00
Sam Lantinga
574bd25fc8 Fixed bug #721
From  michalziulek@gmail.com   2009-03-28 07:43:34   (-) [reply]

There is a bug in OpenGL 3.x context creation code.
Function glXGetProcAddress is used directly where it should be:
_this->gl_data->glXGetProcAddress. I have attached patch which fixes this on
x11 and win32. Thanks.
2009-04-03 17:19:05 +00:00
Sam Lantinga
d6c62e184a Fixed undefined references to joystick code 2009-04-03 13:35:05 +00:00
Sam Lantinga
eb3fc668d0 Added SDL_GetColorKey() 2009-04-03 13:27:33 +00:00
Sam Lantinga
9f9eefc08b Oops 2009-03-28 06:00:42 +00:00
Sam Lantinga
5bb17acb5c Added credits for OpenGL 3.0 support 2009-03-24 10:46:18 +00:00
Sam Lantinga
991689c791 Date: Sun, 22 Mar 2009 12:52:29 +0000
From: Luke Benstead
Subject: OpenGL 3.0 Context Creation

I've attached a patch which implements OpenGL 3.x context creation on
the latest SVN. I've added two options to SDL_GL_SetAttribute, these
are SDL_GL_CONTEXT_MAJOR_VERSION and SDL_GL_CONTEXT_MINOR_VERSION.
These default to 2 and 1 respectively. If the major version is less
than 3 then the current context creation method is used, otherwise the
appropriate new context creation function is called (depending on the
platform).

Sample code:

    if (SDL_Init(SDL_INIT_VIDEO) != 0) {
        printf("Unable to initialize SDL: %s\n", SDL_GetError());
        return 1;
    }

    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); //Without these 2 lines, SDL will create a GL 2.x context
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);

    SDL_Surface* screen = SDL_SetVideoMode( 640, 480, 16, SDL_OPENGL | SDL_FULLSCREEN );


I've implemented context creation on both Win32 and X and run basic
tests on both. This patch doesn't provide access to all the options
allowed by the new context creation (e.g. shared contexts, forward
compatible contexts) but they can be added pretty easily.
2009-03-24 10:43:53 +00:00
Sam Lantinga
3532a3491b Date: Mon, 23 Mar 2009 09:17:24 +0200
From: "Mike Gorchak"
Subject: New QNX patches

Please apply patch qnx4.diff, which is attached. What has been done:
1)Added back OpenGL ES renderer for QNX target. Added few corrections to
OpenGL ES renderer to let it work under QNX. OpenGL ES renderer do not
support textures under QNX, so I think some additional work must be done.
2) Added GL_OES_query_matrix extension to SDL_opengles.h header file, which
required by OpenGL ES 1.1 specification.
3) Added attribute clearing at the entrance of function
SDL_GL_GetAttribure(). Added error checking into the function
SDL_GL_GetAttribure(), because some attributes can't be obtained in OpenGL
ES 1.0.
4) Porting testdyngles to OpenGL ES 1.0 (1.1 has glColor4ub() and
glColor4f() functions, but 1.0 has glColor4f() only).
5) Added error checking after obtaining attributes using
SDL_GL_GetAttribute() function to the testgl2 and testgles.
6) Small correction to testmultiaudio with printing errors.
7) Added software and accelerated OpenGL ES 1.0 support into the QNX GF
driver.

Please remove ./src/audio/nto directory - it will not be used anymore.
Please create ./src/audio/qsa directory and add content of the archive
qsa.tar.gz into this directory. I rewrote some sound code, added support for
multiple audio cards, enumeration, etc. Added initial support for capture.

As far as I can understand SDL 1.3 is not supporting audio capture right now
? Sam, Am I right ? Or audio capture must be supported through the
PlayDevice routine ?

And last, please put file SDL_gf_opengles.c to  the ./src/video/qnxgf
directory. It is OpenGL ES 1.1 emulation layer for some functions, which are
not supported by OpenGL ES 1.0.
2009-03-24 10:33:12 +00:00