Sat, 01 Oct 2016 11:22:39 -0700Only use GCC pragmas when we're building with GCC
Sam Lantinga [Sat, 01 Oct 2016 11:22:39 -0700] rev 10403
Only use GCC pragmas when we're building with GCC

Sat, 01 Oct 2016 11:04:45 -0700Fixed bug 3361 - Texture color modulation doesn't work with active NONE blend mode (opengl and opengles)
Sam Lantinga [Sat, 01 Oct 2016 11:04:45 -0700] rev 10402
Fixed bug 3361 - Texture color modulation doesn't work with active NONE blend mode (opengl and opengles)

Simon Hug

The GL_SetBlendMode and GLES_SetBlendMode functions of the opengl and opengles renderers call the glTexEnvf to set the texture env mode to either GL_MODULATE (the default) or GL_REPLACE for the NONE blend mode. Using GL_REPLACE disables color and alpha modulation for textures.

These glTexEnv calls were put in the SetBlendMode function back in 2006 [1], but there the NONE code still used the GL_DECAL mode. The GL_REPLACE mode came in 2008 [2]. I'm a bit confused why that wasn't always GL_MODULATE and a bit surprised nobody reported that yet (unless I missed it). I guess only a few use the gles renderer and the newish shaders mask the issue.

Sat, 01 Oct 2016 10:52:24 -0700Fixed bug 3362 - OpenGL renderer doesn't check if framebuffers are supported when creating target textures
Sam Lantinga [Sat, 01 Oct 2016 10:52:24 -0700] rev 10401
Fixed bug 3362 - OpenGL renderer doesn't check if framebuffers are supported when creating target textures

Simon Hug

The GL_CreateTexture function doesn't have any checks for the case where the driver doesn't support the framebuffer object extension. It will call into GL_GetFBO which will call the non-existent glGenFramebuffersEXT.

Also, for some reason GL_CreateContext always sets the SDL_RENDERER_TARGETTEXTURE info flag, even if it is not supported. Changeset 6e6bd53feff0 [1] makes this change, but doesn't explain why. It seems to me like the code would already have taken care of this [2].

The attached patch adds some checks and stops SDL from reporting render target support if there is none. The application can then properly inform the user instead of just crashing.

Sat, 01 Oct 2016 10:46:10 -0700Fixed bug 3368 - SDL_Blit_Slow doesn't ignore alpha values in colorkey comparison
Sam Lantinga [Sat, 01 Oct 2016 10:46:10 -0700] rev 10400
Fixed bug 3368 - SDL_Blit_Slow doesn't ignore alpha values in colorkey comparison

Simon Hug

When the SDL_Blit_Slow function compares the pixel to the color key it does so without removing the alpha component from the pixel value and the key. This is different from the optimized 32-bit blitters which create a rgb mask and apply it to both to filter the alpha out. SDL_Blit_Slow will only skip the pixels with the exact alpha value of the key instead of all pixels with the same color.

The attached test case blits a surface with a color key and prints the pixel values to the console. The third row is expected to be skipped.

Sat, 01 Oct 2016 10:43:01 -0700Fixed bug 3373 - OpenGL implementation differences of glDrawTexfOES
Sam Lantinga [Sat, 01 Oct 2016 10:43:01 -0700] rev 10399
Fixed bug 3373 - OpenGL implementation differences of glDrawTexfOES

Simon Hug

It seems not everyone implemented glDrawTexfOES the same. Intel and Mesa ignore the viewport entirely, whereas the Raspberry Pi implementation offsets the coordinates and does viewport clipping.

The glDrawTexfOES extension text [1] for the function says "Xs and Ys are given directly in window (viewport) coordinates." I guess this wasn't clear enough.

Alex Szpakowski

Honestly I'd probably remove that codepath from SDL_Render entirely. It's an OpenGL ES 1-specific extension that isn't likely to give huge performance gains and adds additional maintenance overhead to SDL_Render while also having bugs in some drivers (as seen here).

Sat, 01 Oct 2016 10:39:03 -0700Fix running autogen.sh out-of-tree
Bastien Nocera [Sat, 01 Oct 2016 10:39:03 -0700] rev 10398
Fix running autogen.sh out-of-tree
As done in GNOME's jhbuild building tool.

https://bugzilla.libsdl.org/show_bug.cgi?id=3374

Sat, 01 Oct 2016 10:38:15 -0700We should be using a string constant for the strftime format string
Sam Lantinga [Sat, 01 Oct 2016 10:38:15 -0700] rev 10397
We should be using a string constant for the strftime format string

Sat, 01 Oct 2016 10:36:24 -0700Fix "format not a string literal" errors
Bastien Nocera [Sat, 01 Oct 2016 10:36:24 -0700] rev 10396
Fix "format not a string literal" errors
With GCC 6.1.

https://bugzilla.libsdl.org/show_bug.cgi?id=3375

Fri, 01 Jul 2016 16:47:27 +0100Add gamecontrollerdb lines for SFC30 controller in various modes
Jonathan Dowland [Fri, 01 Jul 2016 16:47:27 +0100] rev 10395
Add gamecontrollerdb lines for SFC30 controller in various modes

SFC30 controller: http://www.8bitdo.com/sfc30/

The SFC30 controller can present itself in a variety of modes and it offers up
different names in each. This patch captures data for three modes (one USB and
two Bluetooth) on three platforms (Mac OS X, Windows, Linux).

However, USB mode on Linux and Windows is missing as the button events did not
make it through to SDL's controllermap tool on Fedora 24/Linux 4.5.5 nor Steam
Big Picture mode on Windows. The two Bluetooth modes were indistinguishable on
Windows. Two modes on OS X were indistinguishable.

There exists a similar controller called the SNES30 (And some others) that are
very likely identical except for the name, but I have not verified this yet so
haven't synthesized lines for those controllers until I can.

Mon, 04 Jul 2016 10:39:32 -0400Commit KEYCODE_SPACE as text input on Android
Cole Campbell [Mon, 04 Jul 2016 10:39:32 -0400] rev 10394
Commit KEYCODE_SPACE as text input on Android