Module: Mesa
Branch: staging/18.1
Commit: 3a23ba5acb1906ad61e17592591d473b89a09b65
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a23ba5acb1906ad61e17592591d473b89a09b65

Author: Christopher Egert <[email protected]>
Date:   Sat Sep  8 02:16:48 2018 +0200

radeon: fix ColorMask

Since commit af3685d14936844f79e6f372b4b258e29375f21b various OpenGL 
applications regressed
on the classic mesa radeon driver.

Signed-off-by: Christopher Egert <[email protected]>
CC: 18.1 18.2 <[email protected]>
Signed-off-by: Marek Olšák <[email protected]>
(cherry picked from commit 51995f69204e8a751cb1a3e502e013acf7fff031)

---

 src/mesa/drivers/dri/r200/r200_state.c     | 8 ++++----
 src/mesa/drivers/dri/radeon/radeon_state.c | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/mesa/drivers/dri/r200/r200_state.c 
b/src/mesa/drivers/dri/r200/r200_state.c
index d53225d63a..b4cff8c259 100644
--- a/src/mesa/drivers/dri/r200/r200_state.c
+++ b/src/mesa/drivers/dri/r200/r200_state.c
@@ -688,10 +688,10 @@ static void r200ColorMask( struct gl_context *ctx,
    if (!rrb)
      return;
    mask = radeonPackColor( rrb->cpp,
-                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 0),
-                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 1),
-                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 2),
-                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 3) );
+                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 0)*0xFF,
+                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 1)*0xFF,
+                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 2)*0xFF,
+                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 3)*0xFF );
 
 
    if (!(r && g && b && a))
diff --git a/src/mesa/drivers/dri/radeon/radeon_state.c 
b/src/mesa/drivers/dri/radeon/radeon_state.c
index 8b72c98a3b..410a78fc08 100644
--- a/src/mesa/drivers/dri/radeon/radeon_state.c
+++ b/src/mesa/drivers/dri/radeon/radeon_state.c
@@ -503,10 +503,10 @@ static void radeonColorMask( struct gl_context *ctx,
      return;
 
    mask = radeonPackColor( rrb->cpp,
-                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 0),
-                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 1),
-                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 2),
-                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 3) );
+                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 0)*0xFF,
+                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 1)*0xFF,
+                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 2)*0xFF,
+                          GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 3)*0xFF );
 
    if ( rmesa->hw.msk.cmd[MSK_RB3D_PLANEMASK] != mask ) {
       RADEON_STATECHANGE( rmesa, msk );

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to