Commit Graph

3276 Commits

Author SHA1 Message Date
Ryan C. Gordon
b3b40aac16 Removed Windows CE support from SDL 2.0.
It's a long-dead platform, and we don't have any way to build for, test, or
maintain it, so there's no sense in doing acrobatics to support it.

If you need Windows CE support, use SDL 1.2. If you need Windows Phone support,
send SDL 2.0 patches for the newer Windows Mobile platform.
2012-09-15 10:59:39 -04:00
Ryan C. Gordon
d62efa1877 Made Windows version of SDL_SetWindowBordered() mostly work.
The sizing still isn't quite right.
2012-09-14 13:14:20 -04:00
Ryan C. Gordon
f36003f837 Consolidate some code in the Windows video target. 2012-09-14 13:13:47 -04:00
Ryan C. Gordon
a2a8357893 Restore Cocoa title bar caption when adding border to a window. 2012-09-14 11:36:36 -04:00
Ryan C. Gordon
9602fbc845 Use the right function pointer. :) 2012-09-14 11:09:13 -04:00
Ryan C. Gordon
38c19e9a72 Patched to compile on Haiku. 2012-09-14 11:07:47 -04:00
Ryan C. Gordon
b3c20483de Make the X11 SetBordered event tapdancing more robust, restore focus, etc. 2012-09-13 15:24:04 -04:00
Ryan C. Gordon
49d8c6fb12 Added SDL_SetWindowBordered() API. 2012-09-13 01:43:53 -04:00
Ryan C. Gordon
cd6433c427 BeOS/Haiku support for SDL_WINDOW_BORDERLESS. 2012-09-13 01:29:18 -04:00
Sam Lantinga
44d2ec013a Fixed bug 1599 - On X11, SDL2 should use CLIPBOARD as well as PRIMARY for copy/paste
David White 2012-09-12 13:22:52 PDT

Background: X has two main 'buffers' for copy/paste:

PRIMARY -- normally used for implicit selection of text, with middle-click to
paste
CLIPBOARD -- works with an explicit copy/paste like on other platforms.

Currently SDL2 only provides access to PRIMARY. Since CLIPBOARD is much closer
to functionality of other platforms, SDL should provide access to that instead.

The attached patch makes it so that SDL_SetClipboardText() sets both PRIMARY
and CLIPBOARD and SDL_GetClipboardText() reads from CLIPBOARD instead of
primary.
2012-09-14 01:16:27 -07:00
Ryan C. Gordon
d77eed3fd1 Moved iOS-specific code into uikit target. Fixes crashes in X11 target. 2012-09-12 19:36:18 -04:00
Sam Lantinga
07fde7de11 Fixed issue where the context couldn't be unbound after the window is shown because the current context was already marked as NULL. (Thanks to John McDonald for tracking that down!) 2012-09-10 20:25:55 -07:00
Sam Lantinga
c76bdd4882 Fixed error message when destroying a software renderer, thanks to wahono for the patch. 2012-09-06 21:34:52 -07:00
Gabriel Jacobo
c576bf10be Return a valid error in SDL_GL_Bind/UnbindTexture, thank you buildbot! 2012-09-03 11:54:48 -03:00
Gabriel Jacobo
ceaf031283 Implements SDL_GL_BindTexture and SDL_GL_UnbindTexture (#1576) 2012-09-03 11:16:12 -03:00
Ryan C. Gordon
b735095b79 Removed a FIXME; RemoteIO is correct for iOS. 2012-09-02 19:37:36 -04:00
Sam Lantinga
d245a3463f Use fast path for RGB 565 -> 32-bit XRGB 8888
Hello Sam,
while profiling ScummVM I noticed it was making use of the generic
BlitNToN blitter, which struck me as odd because it should be a very
classical codepath.
After investigating, I saw that in the blit op chooser:

    { 0x0000F800,0x000007E0,0x0000001F, 4, 0x00FF0000,0x0000FF00,0x000000FF,
      0, NULL, Blit_RGB565_ARGB8888, SET_ALPHA },
    { 0x0000F800,0x000007E0,0x0000001F, 4, 0x000000FF,0x0000FF00,0x00FF0000,
      0, NULL, Blit_RGB565_ABGR8888, SET_ALPHA },
    { 0x0000F800,0x000007E0,0x0000001F, 4, 0xFF000000,0x00FF0000,0x0000FF00,
      0, NULL, Blit_RGB565_RGBA8888, SET_ALPHA },
    { 0x0000F800,0x000007E0,0x0000001F, 4, 0x0000FF00,0x00FF0000,0xFF000000,
      0, NULL, Blit_RGB565_BGRA8888, SET_ALPHA },

Couldn't the optimized versions be used for NO_ALPHA too? I take it
that the resulting alpha component can be undefined as it should never
be used.
I tried this (see attached patch) and it worked perfectly (and
therefore faster) on ScummVM but there might be a trick (I'm not
expert at the semantics of SDL, ie NO_ALPHA, SET_ALPHA and COPY_ALPHA
there).
What do you think?

Cheers,
Bertrand
2012-09-02 16:03:56 -07:00
Ryan C. Gordon
801165cd3f Fixed compiler warning. 2012-08-30 12:58:58 -07:00
Ryan C. Gordon
657a9c8353 Fixed compiler warning on some versions of GCC. 2012-08-25 22:21:16 -04:00
Ryan C. Gordon
c7800c11db Fixed wglShareLists() call that used the wrong variable. 2012-08-25 16:49:05 -04:00
Ryan C. Gordon
aa78574da8 Whoops, removed wrong variable. 2012-08-24 19:39:51 -04:00
Ryan C. Gordon
b9790162f5 Fixed a bunch of compiler warnings with Cygwin/MingW. 2012-08-24 19:34:28 -04:00
Sam Lantinga
9c3a98c522 Fixed bug 1561 - BSD joystick: Increase the number of uhid devices to scan
Brad Smith 2012-08-01 20:10:19 PDT

The attached patch from the OpenBSD ports tree is to increase the number of
uhid devices to scan for joysticks. It's somewhat easy to exhaust the default
number of devices which are scanned.
2012-08-24 10:03:05 -07:00
Gabriel Jacobo
f5b7a7d7db Fixes bug #1506, Changing orientation on the Android device throws off touch scaling 2012-08-24 13:10:29 -03:00
Gabriel Jacobo
5a63b930fa Fix for #1577, SDL_RenderCopyEx - Runtime check fails when dstrect == NULL and center == NULL
Thanks Michael Ehrmann.
2012-08-24 11:56:21 -03:00
Sam Lantinga
c5eed5e522 Fixed bug 1565 - some small GL context creation enhancements
Matthias Bentrup 2012-08-09 12:53:17 PDT

With OpenGL 4.3 the ARB added a new context flag for context reset isolation
and renamed the existing ES2 profile bit to ES profile bit, as it can be used
to request GLES 3 compatible contexts, too.

This patch adds these changes to SDL on Linux and Windows.

Also SDL lacks the ability to create shared contexts. This patch also adds a
new GL attribute to enable context sharing. As casting a GL context to int is
not portable, I added only a boolean attribute
SDL_GL_SHARE_WITH_CURRENT_CONTEXT, which makes the new context share resources
with the context current on the creating thread.
2012-08-12 11:16:24 -07:00
Sam Lantinga
e6d37e6522 Fixed bug 1564 - SDL has no function to open a screen keyboard on Android.
Philipp Wiesemann implemented a general on-screen keyboard API for SDL, and I switched iOS code over to use it.
2012-08-11 10:15:59 -07:00
Ryan C. Gordon
c71bcb5678 Removed some unused variables that gcc 4.6.1 complains about. 2012-08-09 14:14:41 -04:00
Ryan C. Gordon
7ef0dca0bb Patched to compile on Mac OS X 10.8 SDK. 2012-08-08 13:44:58 -04:00
Ryan C. Gordon
4a332d0a4b Patched to compile on Windows. 2012-08-01 21:03:46 -04:00
Ryan C. Gordon
00d525d033 Cleanups to Windows WGL_EXT_swap_control_tear code. 2012-08-01 20:57:03 -04:00
Ryan C. Gordon
f32956dc1b Add support for (GLX|WGL)_EXT_swap_control_tear.
This required a small public API change: SDL_GL_SetSwapInterval() now accepts
 negative values, and SDL_GL_GetSwapInterval() doesn't report errors anymore
 (if it can't work, it'll return zero as a reasonable default).

If you need to test for errors, such as a lack of swap_control_tear support,
 check the results of SDL_GL_SetSwapInterval() when you set your desired
 value.
2012-08-01 20:29:36 -04:00
Sam Lantinga
8974094e37 Fixed black screen on iOS 2012-07-31 16:55:09 -07:00
Kajetan Swierk
758423638b Fixed typo in one of WGL definition 2012-07-22 21:47:56 +02:00
Sam Lantinga
1c2ef337ed Fix for the Game Center status window always being behind the SDL window (untested!) 2012-07-22 11:24:04 -07:00
Gabriel Jacobo
62b982e79f Fixes Android_JNI_FileRead behaviour where reading past the end of a file returns zero instead of the number of bytes read. 2012-07-20 15:22:48 -03:00
Ryan C. Gordon
21d0a3503b Should fix type-punning compiler warnings. 2012-07-20 13:52:25 -04:00
Ryan C. Gordon
7d67b05181 Fixed some minor compiler warnings. 2012-07-20 13:33:15 -04:00
Sam Lantinga
891cb6673b More OpenGL ES fixes from Scott Percival 2012-07-19 09:36:58 -07:00
Sam Lantinga
1d7093bd80 Switch the OpenGL ES renderers to request EGL OpenGL contexts 2012-07-18 15:20:32 -07:00
Sam Lantinga
719eabe5ee Improved simultaneous support for OpenGL and OpenGL ES
From Scott Percival

Okay, I think I have something for this. Tested it on GL and GLES
machines, it seems to work okay.

- Add a new SDL GL attribute SDL_GL_CONTEXT_EGL:
        - Only useful for the X11 video driver at the moment
        - Set to 1 for an EGL context, 0 to use the default for the video driver
        - Default is 0, unless library is built for EGL only
        - Should be set after SDL init, but before window/context
creation (i.e. same place you'd specify attributes for major/minor GL
version)
- After a lot of agony pondering the least-terrible way to go about
it, made it so that X11_GL_LoadLibrary and X11_GLES_LoadLibrary check
SDL_GL_CONTEXT_EGL. If no GL context exists yet, and the attribute
choice doesn't match with the checking function, then it changes all
the function pointers in the video driver and passes control on to the
new LoadLibrary method.
- Likewise, make X11_CreateWindow check this attribute before firing
off a call to X11_GL_GetVisual/X11_GLES_GetVisual
- Added a sanity check to the start of X11_GL_LoadLibrary
- Tidied up SDL_x11opengles.h
- Moved ownership of the gles_data structure over to
X11_GLES_LoadLibrary/UnloadLibrary
- Should incorporate the 3 fixes posted by Andre Heider

This is obviously quite a bit to take in, but is (at least) a proof of
concept for the approach I think EGL/GLX mingling should take. Any
comments/criticism is much appreciated.
2012-07-18 15:17:27 -07:00
Sam Lantinga
1792e4e31d Fix OpenGL initialization when OpenGL and OpenGLES are both available.
Both options default to "yes" via configure, and having libs/headers
for both installed is not unusual.

We default to OpenGL on this compile time combination, but can enforce
OpenGLES via setting the envvar SDL_VIDEO_X11_GLES.
This will be further refined based on community feedback.

Contributed by Andre Heider
2012-07-18 15:02:48 -07:00
Sam Lantinga
3cc390b137 Rename envvar to overwrite X11 EGL library name.
We cannot use SDL_VIDEO_GL_DRIVER for both EGL and GLES1/2, so rename
the envvar for EGL to SDL_VIDEO_EGL_DRIVER and keep SDL_VIDEO_GL_DRIVER
for GLES1/2.

Contributed by Andre Heider
2012-07-18 15:01:41 -07:00
Sam Lantinga
49eb187b19 Fix memory leaks in X11_CreateDevice error paths
Patch contributed by Andre Heider
2012-07-18 14:48:32 -07:00
Sam Lantinga
f63870e37d Fixed bug 1434 - Add AltiVec detection for OpenBSD/powerpc
Brad Smith 2012-02-29 19:31:46 PST

The attached patch adds AltiVec detection for OpenBSD/powerpc. Please apply the
patch to both 2.0 and 1.2.
2012-07-18 13:06:38 -07:00
Ryan C. Gordon
641161f677 Patched to compile on FreeBSD 8.2. 2012-07-11 22:20:02 -04:00
Ryan C. Gordon
da2c5c7165 Removed unused variable to silence compiler warning. 2012-07-11 22:04:19 -04:00
Ryan C. Gordon
1ceed54b76 Patched to compile on PowerPC Mac OS X. 2012-07-11 20:20:04 -04:00
Sam Lantinga
a14df76c17 Fixed bug 1540: SDL 2.0 won't link on Visual Studio 2012 RC for x64
Thanks to Marek Pokorny for tracking this down and providing a fix.
2012-07-11 08:51:16 -04:00
Gabriel Jacobo
af5f6d6ddb Fixes #1422, removes global JNI Env, uses per thread copies, adds thread auto detaching. 2012-07-09 18:08:06 -03:00