Skip to contentSkip to conversation

Fix RadeonCopyData bpp=2 case for big-endian

PATCH In review Jochen Rollwagen 2 participants 2 messages Nov 4, 2016 – Nov 7, 2016 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix RadeonCopyData bpp=2 case for big-endian

From 66b8b1513464aa3258ae6a024fcaea7a02e2def0 Mon Sep 17 00:00:00 2001
From: Jochen Rollwagen <[email protected]>
Date: Fri, 4 Nov 2016 09:11:38 +0100
Subject: [PATCH] Fix RadeonCopyData bpp=2 case for big-endian

The current code in RadeonCopyData blocks the bpp=2 case setting swappiness to RADEON_HOST_DATA_SWAP_16BIT. This patch fixes this.

---
 src/radeon_video.c |   10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)
src/radeon_video.c +2 -8
index d058986..2de0b48 100644
@@ -198,15 +198,10 @@ RADEONCopyData(
   unsigned int w,
   unsigned int bpp
 ){
-    /* Get the byte-swapping right for big endian systems */
-    if ( bpp == 2 ) {
-    w *= 2;
-    bpp = 1;
-    }
-
-    {
     int swap = RADEON_HOST_DATA_SWAP_NONE;
 
+    /* Get the byte-swapping right for big endian systems */
+
 #if X_BYTE_ORDER == X_BIG_ENDIAN
     switch(bpp) {
     case 2:
@@ -229,7 +224,6 @@ RADEONCopyData(
         dst += dstPitch;
         }
     }
-    }
 }
 
 
Signature · 1 line
1.7.9.5
Quoted 1 line

From 66b8b1513464aa3258ae6a024fcaea7a02e2def0 Mon Sep 17 00:00:00 2001

From: Jochen Rollwagen <[email protected]>
Date: Fri, 4 Nov 2016 09:11:38 +0100
Subject: [PATCH] Fix RadeonCopyData bpp=2 case for big-endian

The current code in RadeonCopyData blocks the bpp=2 case setting swappiness to RADEON_HOST_DATA_SWAP_16BIT. This patch fixes this.

---
 src/radeon_video.c |   10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)
src/radeon_video.c +2 -8
index d058986..2de0b48 100644
@@ -198,15 +198,10 @@ RADEONCopyData(
   unsigned int w,
   unsigned int bpp
 ){
-    /* Get the byte-swapping right for big endian systems */
-    if ( bpp == 2 ) {
-	w *= 2;
-	bpp = 1;
-    }
-
-    {
 	int swap = RADEON_HOST_DATA_SWAP_NONE;
 
+    /* Get the byte-swapping right for big endian systems */
+    
 #if X_BYTE_ORDER == X_BIG_ENDIAN
 	switch(bpp) {
 	case 2:
@@ -229,7 +224,6 @@ RADEONCopyData(
 		dst += dstPitch;
 	    }
 	}
-    }
 }
 
 
Signature · 1 line
1.7.9.5

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

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 17 lines · Jochen Rollwagen

From 66b8b1513464aa3258ae6a024fcaea7a02e2def0 Mon Sep 17 00:00:00 2001
From: Jochen Rollwagen <[email protected]>
Date: Fri, 4 Nov 2016 09:11:38 +0100
Subject: [PATCH] Fix RadeonCopyData bpp=2 case for big-endian

The current code in RadeonCopyData blocks the bpp=2 case setting swappiness to RADEON_HOST_DATA_SWAP_16BIT.
This patch fixes this.

---
 src/radeon_video.c |   10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)
src/radeon_video.c +0 -0
index d058986..2de0b48 100644

src/radeon_video.c RADEONCopyData( · line 205

Quoted 8 lines
src/radeon_video.c +0 -5
@@ -198,15 +198,10 @@ RADEONCopyData(
   unsigned int w,
   unsigned int bpp
 ){
-    /* Get the byte-swapping right for big endian systems */
-    if ( bpp == 2 ) {
-    w *= 2;
-    bpp = 1;
-    }

Unless this actually fixes anything for you, NAK, see
https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=5249f450a2487475a95531603cc8668db2c21c33
.

Signature · 6 lines
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx