aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/x86/mmx_blend.S
diff options
context:
space:
mode:
authorJose Fonseca <[email protected]>2002-04-14 11:33:54 +0000
committerJose Fonseca <[email protected]>2002-04-14 11:33:54 +0000
commitd60bb2fbc8b61e9748ce9c235acd4e870a2df613 (patch)
treebb490bf7eb1925616de3f24e791972409ba43479 /src/mesa/x86/mmx_blend.S
parentcffb351a62ebc0e1954422cf749458106671b9d6 (diff)
Remaining patch for the 255x255=255 identity correction be
made also in the runin and runout section of the code.
Diffstat (limited to 'src/mesa/x86/mmx_blend.S')
-rw-r--r--src/mesa/x86/mmx_blend.S12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/x86/mmx_blend.S b/src/mesa/x86/mmx_blend.S
index 8efae08f5e6..16897377c85 100644
--- a/src/mesa/x86/mmx_blend.S
+++ b/src/mesa/x86/mmx_blend.S
@@ -171,6 +171,12 @@ GLNAME( _mesa_mmx_blend_transparency ):
PSRLW ( CONST(8), MM3 ) /* t1 >> 8 */
PADDW ( MM3, MM2 ) /* t1 + (t1 >> 8) ~= (t1/255) << 8 */
+
+#if GMBT_GEOMETRIC_CORRECTION
+ PSRLW ( CONST(7), MM3 ) /* t1 >> 15 */
+
+ PADDW ( MM3, MM2 ) /* t1 + (t1 >> 8) + (t1 >>15) ~= (t1/255) << 8 */
+#endif
#endif
#if GMBT_SIGNED_ARITHMETIC
@@ -393,6 +399,12 @@ LLBL (GMBT_loop_end):
PSRLW ( CONST(8), MM3 ) /* t1 >> 8 */
PADDW ( MM3, MM2 ) /* t1 + (t1 >> 8) ~= (t1/255) << 8 */
+
+#if GMBT_GEOMETRIC_CORRECTION
+ PSRLW ( CONST(7), MM3 ) /* t1 >> 15 */
+
+ PADDW ( MM3, MM2 ) /* t1 + (t1 >> 8) + (t1 >>15) ~= (t1/255) << 8 */
+#endif
#endif
#if GMBT_SIGNED_ARITHMETIC