Remaining patch for the 255x255=255 identity correction be
authorJose Fonseca <j_r_fonseca@yahoo.co.uk>
Sun, 14 Apr 2002 11:33:54 +0000 (11:33 +0000)
committerJose Fonseca <j_r_fonseca@yahoo.co.uk>
Sun, 14 Apr 2002 11:33:54 +0000 (11:33 +0000)
made also in the runin and runout section of the code.

src/mesa/x86/mmx_blend.S

index 8efae08f5e6ad6374e5172cf70e8e225be7c51e8..16897377c855b9fb0d7599130fc1e056d3ed594c 100644 (file)
@@ -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