Commit Graph

5003 Commits

Author SHA1 Message Date
Sam Lantinga
0dd3eb2c28 Updated the Demos project to link with SDL2 2012-09-04 23:17:56 -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
Ryan C. Gordon
784d15354b Added testaudioinfo to the build. 2012-09-01 00:25:17 -07: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
da74d223c7 Removed AC_GNU_SOURCE from SDL2's configure script. 2012-08-26 20:27:25 -04: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
Ryan C. Gordon
9da896d0d4 Cleaned up testjoystick.c, improved usage of renderer API, added colors! 2012-08-15 21:00:33 -04:00
Ryan C. Gordon
afd1cf9469 Updated testjoystick.c for SDL2 API and draw more information.
Fixes Bugzilla #1570.

Thanks to Ondra Hosek for the patch!
2012-08-15 20:53:24 -04:00
Sam Lantinga
03410caaaf Renamed SDL_GL_CONTEXT_PROFILE_ES2 to SDL_GL_CONTEXT_PROFILE_ES 2012-08-12 23:10:16 -07: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
4abe53d466 Fixed building on Mac OS X with Xcode 4.4 (OS X 10.8 SDK).
I think you'll need to install Xquartz, the external-but-official replacement
 for Apple's X11, to get the Xlib headers: http://support.apple.com/kb/HT5293
2012-08-09 15:43:39 -04:00
Ryan C. Gordon
95d61ecb40 Nasty attempt to fix building of testnative across various platforms.
The world longs for a hero named CMake.
2012-08-09 14:28:45 -04: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
c9511b1682 Bumped up Android SDK version in README.android. 2012-08-04 00:01:34 -04:00
Ryan C. Gordon
d20ba4537e Make Android port compatible with older API versions again.
Fixes Bugzilla #1563.

Thanks to Philipp Wiesemann for the patch!
2012-08-03 23:59:05 -04:00
Ryan C. Gordon
d6ce4be3b6 OpenBSD: Add missing X11 libraries to autoconf.
Fixes Bugzilla #1551.

Thanks to Brad Smith for the patch!
2012-08-01 21:41:54 -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
Sam Lantinga
00c170b156 Fixed bug 1547 - Fix test(1) utilization within the autoconf script
Brad Smith 2012-07-19 11:39:09 PDT

I noticed this error from the OpenBSD/amd64 buildbot log..

../configure[15018]: test: -O2: unexpected operator/operand

The attached patch fixes the issue.
2012-07-20 12:57:25 -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
Ryan C. Gordon
48f1278bbf Fixed pthread_np.h detection on OpenBSD. 2012-07-20 13:32:34 -04:00
Sam Lantinga
891cb6673b More OpenGL ES fixes from Scott Percival 2012-07-19 09:36:58 -07:00
Sam Lantinga
5fd86fdeac Fixed bug 1542 - SDL_Touch should reserve tilt_x and tilt_y
Gerry JJ 2012-07-14 19:42:23 PDT
The SDL_Touch structure currently reserves fields for tablet tilt and rotation
(marked "for future use"), but a tablet stylus can tilt in both x and y
directions in addition to rotation around itself (or, put another way, it can
rotate in x, y and z). So, the struct should probably reserve fields for both
tilt_x and tilt_y, not just tilt.
2012-07-18 15:53:33 -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
93e7644d3a Fixed bug 1543 - Fix dynamic loading of X libs on OpenBSD
Brad Smith 2012-07-18 13:43:34 PDT
autoconf patch to fix X dynamic loading of libraries on OpenBSD
2012-07-18 13:57:39 -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
Sam Lantinga
1f417073ca Updated the generic event check to try to compile instead of just look for library runtime function (fixes compiling on older Mac OS X SDKs) 2012-07-18 10:47:41 -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