Provide safer and more convenient constant union accessors.

TRAC #22676
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens

git-svn-id: http://angleproject.googlecode.com/svn/trunk@1995 736b8ea6-26fd-11df-bfd4-992fa37f6226
Ignore constants that have not been initialized.

TRAC #22676
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens

git-svn-id: http://angleproject.googlecode.com/svn/trunk@1996 736b8ea6-26fd-11df-bfd4-992fa37f6226
Don't assume unary operations on constants will be folded into a constant.

TRAC #22676
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens

git-svn-id: http://angleproject.googlecode.com/svn/trunk@1997 736b8ea6-26fd-11df-bfd4-992fa37f6226
Safely promote uninitialized constants.

TRAC #22676
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens

git-svn-id: http://angleproject.googlecode.com/svn/trunk@1998 736b8ea6-26fd-11df-bfd4-992fa37f6226
Add a fast path for BGRA to RGBA conversion inside readPixels. Already covered
by existing WebGL conformance tests. 5x speedup observed for reading back a
4096x4096x4 texture on a NVIDIA GeForce 9600M GT (from 1000ms to 200ms).

Review URL: https://codereview.appspot.com/7466044
Author: Evan Wallace

git-svn-id: http://angleproject.googlecode.com/svn/trunk@1999 736b8ea6-26fd-11df-bfd4-992fa37f6226