From 8ea2c5fc20e30d39a8b9500a1e00368360ecda90 Mon Sep 17 00:00:00 2001
From: Peter Wang <tjaden@users.sourceforge.net>
Date: Sun, 24 Mar 2013 14:27:22 +1100
Subject: [PATCH] Prepare summary of changes for 5.1.6.

The formatting is different from previous versions.  It's slightly
easier for me to edit like this (git log produces 4 space indentation)
and I think it looks better anyway.
---
 docs/src/changes-5.1.txt | 191 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 191 insertions(+)

diff --git a/docs/src/changes-5.1.txt b/docs/src/changes-5.1.txt
index b3dbbed6da..94d62e43fd 100644
--- a/docs/src/changes-5.1.txt
+++ b/docs/src/changes-5.1.txt
@@ -4,6 +4,197 @@ See `changes-5.0.txt` for changes in Allegro 5.0.x.  These lists
 serve as summaries; the full histories are in the Subversion repository.
 
 
+Changes from 5.1.5 to 5.1.6 (March 2013)
+========================================
+
+The main developers this time were: Trent Gamblin, Paul Suntsov, Peter Wang.
+
+Core:
+
+  - Fix use of clobbered return value from setlocale() on X11.
+
+  - Register system interface even if no display driver available on Windows.
+
+  - Fix use of double math functions for float arguments (Nick Trout).
+
+Shaders:
+
+  - Revamped shader API.  The shader API is now part of the core library,
+    and the shader addon removed.
+
+  - Shaders are now a per-bitmap property, set with al_use_shader.
+    A bitmap without a set shader uses a default shader internally,
+    that allows Allegro drawing functions to work as in non-programmable
+    pipeline mode.
+
+  - Shader variable setters operate on the shader of the target bitmap.
+
+  - Rename ALLEGRO_USE_PROGRAMMABLE_PIPELINE to ALLEGRO_PROGRAMMABLE_PIPELINE.
+
+  - Rename al_link_shader to al_build_shader.
+
+  - Remove al_set_shader.
+
+  - Remove the al_set_shader_*_array functions.  These functions cannot
+    be easily (or at all) implemented with the D3D backend.
+
+  - Add al_get_shader_platform and al_get_default_shader_source.
+
+  - Remove al_get_opengl_program_object, al_set_opengl_program_object,
+    al_get_direct3d_effect, al_set_direct3d_effect.
+
+  - Remove Cg shader backend.
+
+  - Add macros for shader variable names (Jon Rafkind).
+
+Displays:
+
+  - Made al_get_display_mode return the closest thing to a pixel format
+    possible with the WGL driver (tobing).
+
+  - Move WGL context destruction out of the message pump thread and into
+    the user/main thread.
+
+  - Allow command-tab to work in fullscreen window mode on OS X.
+
+  - Remove "user_reload" parameter from al_acknowledge_drawing_resume.
+
+  - Don't crash in al_create_display if there is no display driver.
+
+  - Don't crash at shutdown if there is no display driver (Windows).
+
+  - Don't fail init if both D3D, GL drivers unavailable (Windows).
+
+  - Sync bitmaps before resizing display to prevent changes being lost
+    after the resize (D3D).
+
+  - Load the D3D9X module during display creation and unload it when the
+    D3D system shuts down.
+
+  - Run fullscreen toggle on main thread (OS X).
+
+  - Destroy the backbuffer bitmap when destroying the display (OS X).
+
+  - Switch to new NSTrackingArea API (OS X).
+
+  - Set ALLEGRO_NO_PRESERVE_TEXTURE on backbuffer (OpenGL).
+
+Graphics:
+
+  - Let al_destroy_bitmap implicitly untarget the bitmap on the calling
+    thread.
+
+  - Fix a bug where bitmap locking may change the target bitmap but
+    not restore it back to NULL (OpenGL).
+
+  - Use memory bitmap drawing when either bitmap is locked (OpenGL).
+
+  - Fix a crash in D3D destroying sub-bitmaps.
+
+  - Add const qualifiers to glUniform*v() functions (Aaron Bolyard).
+
+Input:
+
+  - Partially fix mouse buttons "sticking" on Mac, e.g. holding the
+    mouse and toggling fullscreen window.
+
+  - al_set_mouse_xy on Windows resulted in the mouse getting set to the wrong
+    position in windowed modes
+
+  - Scale the user supplied mouse cursor if it's too big (Windows).
+
+  - Add key constants for some Android keys, those that are used in Xperia
+    Play controls.
+
+Audio addons:
+
+  - Fix PulseAudio driver trying to connect to a non-existent server forever.
+
+  - Avoid memory leaks with audio event source.
+
+  - Use smaller buffer size for OpenSL.
+
+Image addon:
+
+  - Use Allegro built-in loaders in preference to OS X loaders for BMP/TGA/PCX.
+    The OS X TGA loader doesn't support alpha and this is also more consistent.
+
+Font addons:
+
+  - Make al_init_font_addon return success value.
+
+  - Make al_init_ttf_addon return true for subsequent calls.
+
+Native dialogs addon:
+
+  - Fix a crash on iOS due to threading/TLS issues geting the display
+    (Nick Trout).
+
+Primitives addon:
+
+  - Speed up al_triangulate_polygon_with_holes.
+
+  - Speed up drawing of the rounds for polylines.
+
+  - Add custom vertex attributes to the primitives addon.
+
+  - Replace vertex shader binary generated by vsa.exe (removed from DirectX
+    SDKs for a while now) by that generated by fxc.exe.
+
+  - A minor revamp of the HLSL default shader system in the primitives addon.
+
+  - Fix a few incorrect usages of al_lock_vertex_buffer
+
+  - Disallow 3 component vectors for ALLEGRO_PRIM_TEX_COORD.
+
+  - Add a whole bunch of new ALLEGRO_PRIM_STORAGE values.
+
+  - Primitives addon was ignoring the filter settings of textures in the D3D
+    backend.
+
+Android port:
+
+  - Generate KEY_CHAR on Android.
+
+  - Add key constants for Android.
+
+  - Set target bitmap to display backuffer after program is resumed.
+
+  - Use different functions for OpenGL ES 1 and OpenGL ES 2 on Android.
+
+iOS port:
+
+  - Support stencil buffer on iOS.
+
+  - Remove unnecessary autorelease pools. There was a crash when using
+    Airplay that goes away without the pools.
+
+  - Make Airplay work the standard way most apps do unless the
+    Allegro user explicitly creates a display on the second screen.
+
+  - Don't autorotate displays other than device.
+
+  - Fix some threading and memory issues.
+
+Raspberry Pi port:
+
+  - Allow for color size, depth and stencil sizes.
+
+  - Support al_show_mouse_cursor and al_hide_mouse_cursor.
+    Disabled as it sometimes ends up stuck on the screen until reboot.
+
+Examples:
+
+  - New examples: ex_prim_shader, ex_shader_target.
+
+Other:
+
+  - Various documentation updates.
+
+  - Minor fixes and code refactoring.
+
+
+
 Changes from 5.1.4 to 5.1.5 (January 2013)
 ==========================================