CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2020-03-22 Thread Martin Husemann
Module Name:xsrc
Committed By:   martin
Date:   Sun Mar 22 10:18:19 UTC 2020

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_accel.c

Log Message:
PR 48569: avoid unaligned access. OK mrg@


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_accel.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_accel.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_accel.c:1.2 xsrc/external/mit/xf86-video-ati/dist/src/radeon_accel.c:1.3
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_accel.c:1.2	Wed Aug 17 00:06:59 2016
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_accel.c	Sun Mar 22 10:18:19 2020
@@ -960,7 +960,30 @@ void RADEONCopySwap(uint8_t *dst, uint8_
 	return;
 }
 case RADEON_HOST_DATA_SWAP_32BIT:
-{
+	if (((uintptr_t)dst & 1) || ((uintptr_t)src & 1)) {
+	uint8_t *d = (uint8_t *)dst;
+	uint8_t *s = (uint8_t *)src;
+	unsigned int nwords = size >> 2;
+
+	for (; nwords > 0; --nwords, d+=4, s+=4) {
+	d[0] = s[3];
+		d[1] = s[2];
+		d[2] = s[1];
+		d[3] = s[0];
+	}
+	return;
+} else if (((uintptr_t)dst & 3) || ((uintptr_t)src & 3)) {
+	/* copy 16bit wise */
+	uint16_t *d = (uint16_t *)dst;
+	uint16_t *s = (uint16_t *)src;
+	unsigned int nwords = size >> 2;
+
+	for (; nwords > 0; --nwords, d+=2, s+=2) {
+	d[0] = ((s[1] >> 8) & 0xff) | ((s[1] & 0xff) << 8);
+	d[1] = ((s[0] >> 8) & 0xff) | ((s[0] & 0xff) << 8);
+	}
+	return;
+	} else {
 	unsigned int *d = (unsigned int *)dst;
 	unsigned int *s = (unsigned int *)src;
 	unsigned int nwords = size >> 2;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2019-01-31 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Thu Jan 31 20:40:59 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_vip.c

Log Message:
explicitly continue.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c:1.1.1.3 xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c:1.1.1.3	Sun Sep 23 15:49:09 2012
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_vip.c	Thu Jan 31 15:40:59 2019
@@ -302,7 +302,8 @@ static Bool RADEONVIP_fifo_write(GENERIC
 	{
 		OUTREG(VIPH_REG_DATA, *(uint32_t*)(buffer + i));
 	write_mem_barrier();
-		while(VIP_BUSY == (status = RADEONVIP_fifo_idle(b, 0x0f)));
+		while(VIP_BUSY == (status = RADEONVIP_fifo_idle(b, 0x0f)))
+			continue;
 	if(VIP_IDLE != status)
 		{
 		xf86DrvMsg(pScrn->scrnIndex, X_INFO, "cannot write to VIPH_REG_DATA\n");



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2019-01-31 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Thu Jan 31 20:41:19 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_dri.c

Log Message:
fix wrong printf format.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.9 xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.10
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.9	Sun Sep 23 16:06:02 2012
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c	Thu Jan 31 15:41:19 2019
@@ -1070,7 +1070,7 @@ static Bool RADEONDRIPciInit(RADEONInfoP
 	return FALSE;
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
-	   "[pci] ring handle = 0x%08lx, size = 0x%08lx\n", info->dri->ringHandle, info->dri->ringMapSize);
+	   "[pci] ring handle = 0x%08lx, size = 0x%08x\n", info->dri->ringHandle, info->dri->ringMapSize);
 
 if ((ret = drmMap(info->dri->drmFD, info->dri->ringHandle, info->dri->ringMapSize,
 	   &info->dri->ring)) < 0) {



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2019-01-31 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Thu Jan 31 20:40:16 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_crtc.c

Log Message:
Taking the abs() of the difference of two unsigned numbers is probably not
what it was intended here :-)


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_crtc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_crtc.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_crtc.c:1.3 xsrc/external/mit/xf86-video-ati/dist/src/radeon_crtc.c:1.4
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_crtc.c:1.3	Mon Dec 31 19:34:52 2018
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_crtc.c	Thu Jan 31 15:40:16 2019
@@ -245,17 +245,18 @@ RADEONComputePLL_old(RADEONPLLPtr pll,
 		tmp += (CARD64)pll->reference_freq * 1000 * frac_feedback_div;
 		current_freq = RADEONDiv(tmp, ref_div * post_div);
 
+#define RD_ABS(a, b) ((a) > (b) ? (a) - (b) : (b) - (a))
 		if (flags & RADEON_PLL_PREFER_CLOSEST_LOWER) {
 			error = freq - current_freq;
 			error = (int32_t)error < 0 ? 0x : error;
 		} else
-			error = abs(current_freq - freq);
-		vco_diff = abs(vco - best_vco);
+			error = RD_ABS(current_freq, freq);
+		vco_diff = RD_ABS(vco, best_vco);
 
 		if ((best_vco == 0 && error < best_error) ||
 			(best_vco != 0 &&
 			 (error < best_error - 100 ||
-			  (abs(error - best_error) < 100 && vco_diff < best_vco_diff  {
+			  (RD_ABS(error, best_error) < 100 && vco_diff < best_vco_diff  {
 			best_post_div = post_div;
 			best_ref_div = ref_div;
 			best_feedback_div = feedback_div;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2019-01-31 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Thu Jan 31 20:41:38 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_modes.c

Log Message:
using abs on floating point values...


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_modes.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_modes.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_modes.c:1.2 xsrc/external/mit/xf86-video-ati/dist/src/radeon_modes.c:1.3
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_modes.c:1.2	Mon Dec 31 19:34:52 2018
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_modes.c	Thu Jan 31 15:41:37 2019
@@ -408,7 +408,7 @@ RADEONUpdatePanelSize(xf86OutputPtr outp
 		float  refresh =
 			(float)p->Clock * 1000.0 / p->HTotal / p->VTotal;
 
-		if (abs((float)ddc->timings2[j].refresh - refresh) < 1.0) {
+		if (fabsf((float)ddc->timings2[j].refresh - refresh) < 1.0) {
 			/* Is this good enough? */
 			native_mode->PanelXRes  = ddc->timings2[j].hsize;
 			native_mode->PanelYRes  = ddc->timings2[j].vsize;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2019-01-31 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Thu Jan 31 20:40:42 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_video.c

Log Message:
shifting negative values is not portable.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_video.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_video.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_video.c:1.2 xsrc/external/mit/xf86-video-ati/dist/src/radeon_video.c:1.3
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_video.c:1.2	Tue Aug 16 20:06:59 2016
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_video.c	Thu Jan 31 15:40:41 2019
@@ -2681,7 +2681,7 @@ RADEONDisplayVideo(
  * prevent the buffer offsets from exceeding the hardware limit of 128 MB.
  * The base address must be aligned to a multiple of 4 MB.
  */
-base_offset = ((info->fbLocation + base_offset) & (~0 << 22)) -
+base_offset = ((info->fbLocation + base_offset) & (~0U << 22)) -
 	info->fbLocation;
 
 offset1 -= base_offset;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios

2019-01-03 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Fri Jan  4 00:09:11 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios: CD_Operations.c

Log Message:
redo previous slightly: restore packed attribute.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.7 xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.8
--- xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.7	Wed Jan  2 18:51:58 2019
+++ xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c	Fri Jan  4 00:09:11 2019
@@ -215,8 +215,10 @@ VOID IndirectIOCommand_CLEAR(PARSER_TEMP
 pParserTempData->IndirectData &= ~((0x >> (32-pParserTempData->IndirectIOTablePointer[1])) << pParserTempData->IndirectIOTablePointer[2]);
 }
 
-/* Avoid conflicts with older versions of compiler.h */
+/* from xorg-server 1.18 compiler.h */
+struct local__una_u32 { uint32_t x __attribute__((packed)); };
 
+/* Avoid conflicts with older versions of compiler.h */
 #define ldw_u xldw_u
 #define ldl_u xldl_u
 #define stl_u xstl_u
@@ -224,20 +226,21 @@ VOID IndirectIOCommand_CLEAR(PARSER_TEMP
 static __inline__ uint16_t ldw_u(uint16_t *p)
 {
 	uint16_t ret;
-	memmove(&ret, p, sizeof(ret));
+	memmove(&ret, p, sizeof(*p));
 	return ret;
 }
 
 static __inline__ uint32_t ldl_u(uint32_t *p)
 {
 	uint32_t ret;
-	memmove(&ret, p, sizeof(ret));
+	memmove(&ret, p, sizeof(*p));
 	return ret;
 }
 
 static __inline__ void stl_u(uint32_t val, uint32_t *p)
 {
-	memmove(p, &val, sizeof(*p));
+	struct local__una_u32 *ptr = (struct local__una_u32 *) p;
+	ptr->x = val;
 }
 
 UINT32 IndirectInputOutput(PARSER_TEMP_DATA STACK_BASED * pParserTempData)



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2019-01-03 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Fri Jan  4 00:09:24 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: theatre.h

Log Message:
minor style fix for previous.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xf86-video-ati/dist/src/theatre.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/theatre.h
diff -u xsrc/external/mit/xf86-video-ati/dist/src/theatre.h:1.2 xsrc/external/mit/xf86-video-ati/dist/src/theatre.h:1.3
--- xsrc/external/mit/xf86-video-ati/dist/src/theatre.h:1.2	Tue Jan  1 05:29:40 2019
+++ xsrc/external/mit/xf86-video-ati/dist/src/theatre.h	Fri Jan  4 00:09:24 2019
@@ -11,9 +11,9 @@ typedef struct {
 	 int  theatre_num;
 	 uint32_t theatre_id;
 	 int  mode;
-	 const char*microc_path;
-	 const char*microc_type;
-	 
+	 const char* microc_path;
+	 const char* microc_type;
+
 	 uint16_t video_decoder_type;
 	 uint32_t wStandard;
 	 uint32_t wConnector;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios

2019-01-02 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Wed Jan  2 18:51:58 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios: CD_Operations.c

Log Message:
make this work with both the old and the new version of compiler.h


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.6 xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.7
--- xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.6	Wed Jan  2 10:54:24 2019
+++ xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c	Wed Jan  2 13:51:58 2019
@@ -215,28 +215,29 @@ VOID IndirectIOCommand_CLEAR(PARSER_TEMP
 pParserTempData->IndirectData &= ~((0x >> (32-pParserTempData->IndirectIOTablePointer[1])) << pParserTempData->IndirectIOTablePointer[2]);
 }
 
-/* from xorg-server 1.18 compiler.h */
-struct __una_u64 { uint64_t x __attribute__((packed)); };
-struct __una_u32 { uint32_t x __attribute__((packed)); };
+/* Avoid conflicts with older versions of compiler.h */
+
+#define ldw_u xldw_u
+#define ldl_u xldl_u
+#define stl_u xstl_u
 
 static __inline__ uint16_t ldw_u(uint16_t *p)
 {
 	uint16_t ret;
-	memmove(&ret, p, sizeof(*p));
+	memmove(&ret, p, sizeof(ret));
 	return ret;
 }
 
 static __inline__ uint32_t ldl_u(uint32_t *p)
 {
 	uint32_t ret;
-	memmove(&ret, p, sizeof(*p));
+	memmove(&ret, p, sizeof(ret));
 	return ret;
 }
 
 static __inline__ void stl_u(uint32_t val, uint32_t *p)
 {
-	struct __una_u32 *ptr = (struct __una_u32 *) p;
-	ptr->x = val;
+	memmove(p, &val, sizeof(*p));
 }
 
 UINT32 IndirectInputOutput(PARSER_TEMP_DATA STACK_BASED * pParserTempData)



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios

2019-01-02 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Wed Jan  2 15:54:24 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios: CD_Operations.c

Log Message:
put back compatibility code for now; needed for sparc (from martin@)


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.5 xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.6
--- xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.5	Tue Jan  1 21:58:48 2019
+++ xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c	Wed Jan  2 10:54:24 2019
@@ -215,6 +215,30 @@ VOID IndirectIOCommand_CLEAR(PARSER_TEMP
 pParserTempData->IndirectData &= ~((0x >> (32-pParserTempData->IndirectIOTablePointer[1])) << pParserTempData->IndirectIOTablePointer[2]);
 }
 
+/* from xorg-server 1.18 compiler.h */
+struct __una_u64 { uint64_t x __attribute__((packed)); };
+struct __una_u32 { uint32_t x __attribute__((packed)); };
+
+static __inline__ uint16_t ldw_u(uint16_t *p)
+{
+	uint16_t ret;
+	memmove(&ret, p, sizeof(*p));
+	return ret;
+}
+
+static __inline__ uint32_t ldl_u(uint32_t *p)
+{
+	uint32_t ret;
+	memmove(&ret, p, sizeof(*p));
+	return ret;
+}
+
+static __inline__ void stl_u(uint32_t val, uint32_t *p)
+{
+	struct __una_u32 *ptr = (struct __una_u32 *) p;
+	ptr->x = val;
+}
+
 UINT32 IndirectInputOutput(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
 // if ((pParserTempData->IndirectData & 0x7f)==INDIRECT_IO_MM) pParserTempData->IndirectData|=pParserTempData->CurrentPortID;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios

2019-01-01 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Wed Jan  2 02:58:48 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios: CD_Operations.c

Log Message:
Remove compatibility code.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.4 xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.5
--- xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.4	Mon Dec 31 19:34:52 2018
+++ xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c	Tue Jan  1 21:58:48 2019
@@ -215,30 +215,6 @@ VOID IndirectIOCommand_CLEAR(PARSER_TEMP
 pParserTempData->IndirectData &= ~((0x >> (32-pParserTempData->IndirectIOTablePointer[1])) << pParserTempData->IndirectIOTablePointer[2]);
 }
 
-/* from xorg-server 1.18 compiler.h */
-struct __una_u64 { uint64_t x __attribute__((packed)); };
-struct __una_u32 { uint32_t x __attribute__((packed)); };
-
-static __inline__ uint16_t ldw_u(uint16_t *p)
-{
-	uint16_t ret;
-	memmove(&ret, p, sizeof(*p));
-	return ret;
-}
-
-static __inline__ uint32_t ldl_u(uint32_t *p)
-{
-	uint32_t ret;
-	memmove(&ret, p, sizeof(*p));
-	return ret;
-}
-
-static __inline__ void stl_u(uint32_t val, uint32_t *p)
-{
-	struct __una_u32 *ptr = (struct __una_u32 *) p;
-	ptr->x = val;
-}
-
 UINT32 IndirectInputOutput(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
 // if ((pParserTempData->IndirectData & 0x7f)==INDIRECT_IO_MM) pParserTempData->IndirectData|=pParserTempData->CurrentPortID;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2018-12-31 Thread Christos Zoulas
Module Name:xsrc
Committed By:   christos
Date:   Tue Jan  1 05:29:40 UTC 2019

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon.h theatre.h

Log Message:
add missing const


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xf86-video-ati/dist/src/radeon.h
cvs rdiff -u -r1.1.1.1 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/theatre.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon.h
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon.h:1.2 xsrc/external/mit/xf86-video-ati/dist/src/radeon.h:1.3
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon.h:1.2	Tue Aug 16 20:06:59 2016
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon.h	Tue Jan  1 00:29:40 2019
@@ -924,8 +924,8 @@ typedef struct {
 int   RageTheatreCompositePort;
 int   RageTheatreSVideoPort;
 int   tunerType;
-char* RageTheatreMicrocPath;
-char* RageTheatreMicrocType;
+const char*   RageTheatreMicrocPath;
+const char*   RageTheatreMicrocType;
 Bool  MM_TABLE_valid;
 struct {
 	uint8_t table_revision;

Index: xsrc/external/mit/xf86-video-ati/dist/src/theatre.h
diff -u xsrc/external/mit/xf86-video-ati/dist/src/theatre.h:1.1.1.1 xsrc/external/mit/xf86-video-ati/dist/src/theatre.h:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/theatre.h:1.1.1.1	Sat Aug  2 01:10:42 2008
+++ xsrc/external/mit/xf86-video-ati/dist/src/theatre.h	Tue Jan  1 00:29:40 2019
@@ -11,8 +11,8 @@ typedef struct {
 	 int  theatre_num;
 	 uint32_t theatre_id;
 	 int  mode;
-	 char*microc_path;
-	 char*microc_type;
+	 const char*microc_path;
+	 const char*microc_type;
 	 
 	 uint16_t video_decoder_type;
 	 uint32_t wStandard;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2017-08-11 Thread Michael Lorenz
Module Name:xsrc
Committed By:   macallan
Date:   Fri Aug 11 20:55:49 UTC 2017

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_output.c

Log Message:
add voodoo to get the Mac model name from OpenFirmware so the driver can
automatically enable model specific workarounds
Now X works out of the box on my Mini


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.10 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_output.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_output.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_output.c:1.1.1.10 xsrc/external/mit/xf86-video-ati/dist/src/radeon_output.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_output.c:1.1.1.10	Sun Sep 23 19:49:36 2012
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_output.c	Fri Aug 11 20:55:49 2017
@@ -33,7 +33,10 @@
 #include 
 #include 
 #include 
-
+#ifdef __NetBSD__
+#include 
+#include 
+#endif
 /* X and server generic header files */
 #include "xf86.h"
 #include "xf86_OSproc.h"
@@ -2731,6 +2734,25 @@ static RADEONMacModel RADEONDetectMacMod
 if (f != NULL) {
 	while (fgets(cpuline, sizeof cpuline, f)) {
 	if (!strncmp(cpuline, "machine", strlen ("machine"))) {
+#elif defined(__NetBSD__)
+char cpuline[50];
+int of;
+struct ofiocdesc ofio;
+
+of = open("/dev/openfirm", O_RDONLY);
+if (of > 0) {
+	ofio.of_nodeid = 0;
+ofio.of_name = "/";
+	ofio.of_namelen = 1;
+	if (ioctl(of, OFIOCFINDDEVICE, &ofio) != -1) {
+	ofio.of_name = "model";
+	ofio.of_namelen = 5;
+	ofio.of_buf = cpuline;
+	ofio.of_buflen = sizeof(cpuline);
+	while (ioctl(of, OFIOCGET, &ofio) != -1) {
+		cpuline[49] = 0;
+	xf86Msg(X_ERROR, "model %s\n", cpuline);
+#endif
 		if (strstr(cpuline, "PowerBook5,1") ||
 		strstr(cpuline, "PowerBook5,2") ||
 		strstr(cpuline, "PowerBook5,3") ||
@@ -2767,6 +2789,7 @@ static RADEONMacModel RADEONDetectMacMod
 		ret = RADEON_MAC_MINI_EXTERNAL; /* external tmds */
 		break;
 		}
+#ifdef __linux__
 	} else if (!strncmp(cpuline, "detected as", strlen("detected as"))) {
 		if (strstr(cpuline, "iBook")) {
 		ret = RADEON_MAC_IBOOK;
@@ -2781,19 +2804,25 @@ static RADEONMacModel RADEONDetectMacMod
 		ret = RADEON_MAC_EMAC;
 		break;
 		}
-
+#endif
 		/* No known PowerMac model detected */
 		break;
 	}
 	}
 
+#ifdef __linux__
 	fclose (f);
 } else
 	xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
 		   "Cannot detect PowerMac model because /proc/cpuinfo not "
 		   "readable.\n");
-
-#endif /* __linux */
+#elif defined(__NetBSD__)
+	close(of);
+} else
+	xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+		   "Cannot detect PowerMac model because /dev/openfirm not "
+		   "readable.\n");
+#endif
 
 #ifdef __OpenBSD__
 char model[32];



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2017-03-04 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Sun Mar  5 03:18:38 UTC 2017

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: compat-api.h r600_shader.c

Log Message:
un-merge the new ati driver from the old location.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/compat-api.h
cvs rdiff -u -r1.1.1.8 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/r600_shader.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/compat-api.h
diff -u xsrc/external/mit/xf86-video-ati/dist/src/compat-api.h:1.1.1.2 xsrc/external/mit/xf86-video-ati/dist/src/compat-api.h:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/compat-api.h:1.1.1.2	Sun Mar  5 03:02:38 2017
+++ xsrc/external/mit/xf86-video-ati/dist/src/compat-api.h	Sun Mar  5 03:18:38 2017
@@ -73,13 +73,8 @@
 
 #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
 
-#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0)
-#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout
-#define BLOCKHANDLER_ARGS arg, pTimeout
-#else
 #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
 #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
-#endif
 
 #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
 #define CLOSE_SCREEN_ARGS pScreen

Index: xsrc/external/mit/xf86-video-ati/dist/src/r600_shader.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/r600_shader.c:1.1.1.8 xsrc/external/mit/xf86-video-ati/dist/src/r600_shader.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/r600_shader.c:1.1.1.8	Sun Mar  5 03:02:38 2017
+++ xsrc/external/mit/xf86-video-ati/dist/src/r600_shader.c	Sun Mar  5 03:18:38 2017
@@ -2318,10 +2318,9 @@ int R600_comp_ps(RADEONChipFamily ChipSe
 int i = 0;
 
 /* 0 */
-/* call fetch-mask if boolean1 == true */
-shader[i++] = CF_DWORD0(ADDR(10));
+shader[i++] = CF_DWORD0(ADDR(3));
 shader[i++] = CF_DWORD1(POP_COUNT(0),
-CF_CONST(1),
+CF_CONST(0),
 COND(SQ_CF_COND_BOOL),
 I_COUNT(0),
 CALL_COUNT(0),
@@ -2331,10 +2330,9 @@ int R600_comp_ps(RADEONChipFamily ChipSe
 WHOLE_QUAD_MODE(0),
 BARRIER(0));
 /* 1 */
-/* call read-constant-mask if boolean1 == false */
-shader[i++] = CF_DWORD0(ADDR(12));
+shader[i++] = CF_DWORD0(ADDR(7));
 shader[i++] = CF_DWORD1(POP_COUNT(0),
-CF_CONST(1),
+CF_CONST(0),
 COND(SQ_CF_COND_NOT_BOOL),
 I_COUNT(0),
 CALL_COUNT(0),
@@ -2344,36 +2342,33 @@ int R600_comp_ps(RADEONChipFamily ChipSe
 WHOLE_QUAD_MODE(0),
 BARRIER(0));
 /* 2 */
-/* call fetch-src if boolean0 == true */
-shader[i++] = CF_DWORD0(ADDR(6));
+shader[i++] = CF_DWORD0(ADDR(0));
 shader[i++] = CF_DWORD1(POP_COUNT(0),
 CF_CONST(0),
-COND(SQ_CF_COND_BOOL),
+COND(SQ_CF_COND_ACTIVE),
 I_COUNT(0),
 CALL_COUNT(0),
-END_OF_PROGRAM(0),
+END_OF_PROGRAM(1),
 VALID_PIXEL_MODE(0),
-CF_INST(SQ_CF_INST_CALL),
+CF_INST(SQ_CF_INST_NOP),
 WHOLE_QUAD_MODE(0),
-BARRIER(0));
+BARRIER(1));
 
-/* 3 */
-/* call read-constant-src if boolean0 == false */
-shader[i++] = CF_DWORD0(ADDR(8));
+/* 3 - mask sub */
+shader[i++] = CF_DWORD0(ADDR(14));
 shader[i++] = CF_DWORD1(POP_COUNT(0),
 			CF_CONST(0),
-			COND(SQ_CF_COND_NOT_BOOL),
-			I_COUNT(0),
+			COND(SQ_CF_COND_ACTIVE),
+			I_COUNT(2),
 			CALL_COUNT(0),
 			END_OF_PROGRAM(0),
 			VALID_PIXEL_MODE(0),
-			CF_INST(SQ_CF_INST_CALL),
+			CF_INST(SQ_CF_INST_TEX),
 			WHOLE_QUAD_MODE(0),
-			BARRIER(0));
+			BARRIER(1));
 
 /* 4 */
-/* src IN mask (GPR0 := GPR1 .* GPR0) */
-shader[i++] = CF_ALU_DWORD0(ADDR(14),
+shader[i++] = CF_ALU_DWORD0(ADDR(10),
 KCACHE_BANK0(0),
 KCACHE_BANK1(0),
 KCACHE_MODE0(SQ_CF_KCACHE_NOP));
@@ -2387,10 +2382,9 @@ int R600_comp_ps(RADEONChipFamily ChipSe
 BARRIER(1));
 
 /* 5 */
-/* export pixel data */
 shader[i++] = CF_ALLOC_IMP_EXP_DWORD0(ARRAY_BASE(CF_PIXEL_MRT0),
 	  TYPE(SQ_EXPORT_PIXEL),
-	  RW_GPR(0),
+	  RW_GPR(2),
 	  RW_REL(ABSOLUTE),
 	  INDEX_GPR(0),
 	  ELEM_SIZE(1));
@@ -2400,57 +2394,55 @@ int R600_co

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2015-12-11 Thread Thomas Klausner
Module Name:xsrc
Committed By:   wiz
Date:   Fri Dec 11 15:37:44 UTC 2015

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_dri2.c

Log Message:
Initialize a variable, for clang.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.8 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri2.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri2.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri2.c:1.1.1.8 xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri2.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri2.c:1.1.1.8	Sun Sep 23 19:49:02 2012
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri2.c	Fri Dec 11 15:37:44 2015
@@ -590,7 +590,7 @@ static void
 radeon_dri2_client_state_changed(CallbackListPtr *ClientStateCallback, pointer data, pointer calldata)
 {
 DRI2ClientEventsPtr pClientEventsPriv;
-DRI2FrameEventPtr ref;
+DRI2FrameEventPtr ref = NULL;
 NewClientInfoRec *clientinfo = calldata;
 ClientPtr pClient = clientinfo->client;
 pClientEventsPriv = GetDRI2ClientEvents(pClient);



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2014-07-29 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Tue Jul 29 21:55:23 UTC 2014

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: r600_exa.c
r600_textured_videofuncs.c r6xx_accel.c radeon_exa.c
radeon_exa_funcs.c radeon_textured_video.c

Log Message:
make sure all the KMS code is only ever run when in KMS mode.  fixes
problems with the UMS (aka existing) driver type when KMS is enabled.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c
cvs rdiff -u -r1.1.1.9 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/r600_textured_videofuncs.c
cvs rdiff -u -r1.6 -r1.7 \
xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c
cvs rdiff -u -r1.1.1.10 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa.c
cvs rdiff -u -r1.9 -r1.10 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c
cvs rdiff -u -r1.4 -r1.5 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_textured_video.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.5 xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.6
--- xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.5	Sun Sep 23 20:06:02 2012
+++ xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c	Tue Jul 29 21:55:23 2014
@@ -246,7 +246,8 @@ R600PrepareSolid(PixmapPtr pPix, int alu
 cb_conf.base = accel_state->dst_obj.offset;
 cb_conf.bo = accel_state->dst_obj.bo;
 #ifdef XF86DRM_MODE
-cb_conf.surface = accel_state->dst_obj.surface;
+if (info->cs) 
+cb_conf.surface = accel_state->dst_obj.surface;
 #endif
 
 if (accel_state->dst_obj.bpp == 8) {
@@ -428,7 +429,8 @@ R600DoPrepareCopy(ScrnInfoPtr pScrn)
 tex_res.bo  = accel_state->src_obj[0].bo;
 tex_res.mip_bo  = accel_state->src_obj[0].bo;
 #ifdef XF86DRM_MODE
-tex_res.surface = accel_state->src_obj[0].surface;
+if (info->cs) 
+tex_res.surface = accel_state->src_obj[0].surface;
 #endif
 if (accel_state->src_obj[0].bpp == 8) {
 	tex_res.format  = FMT_8;
@@ -475,7 +477,8 @@ R600DoPrepareCopy(ScrnInfoPtr pScrn)
 cb_conf.base = accel_state->dst_obj.offset;
 cb_conf.bo = accel_state->dst_obj.bo;
 #ifdef XF86DRM_MODE
-cb_conf.surface = accel_state->dst_obj.surface;
+if (info->cs) 
+cb_conf.surface = accel_state->dst_obj.surface;
 #endif
 if (accel_state->dst_obj.bpp == 8) {
 	cb_conf.format = COLOR_8;
@@ -626,15 +629,10 @@ R600PrepareCopy(PixmapPtr pSrc,   Pixmap
 
 if (accel_state->same_surface == TRUE) {
 #if defined(XF86DRM_MODE)
-	unsigned long size = accel_state->dst_obj.surface->bo_size;
-	unsigned long align = accel_state->dst_obj.surface->bo_alignment;
-#else
-	unsigned height = pDst->drawable.height;
-	unsigned long size = height * accel_state->dst_obj.pitch * pDst->drawable.bitsPerPixel/8;
-#endif
-
-#if defined(XF86DRM_MODE)
 	if (info->cs) {
+	unsigned long size = accel_state->dst_obj.surface->bo_size;
+	unsigned long align = accel_state->dst_obj.surface->bo_alignment;
+
 	if (accel_state->copy_area_bo) {
 		radeon_bo_unref(accel_state->copy_area_bo);
 		accel_state->copy_area_bo = NULL;
@@ -656,6 +654,9 @@ R600PrepareCopy(PixmapPtr pSrc,   Pixmap
 	} else
 #endif
 	{
+	unsigned height = pDst->drawable.height;
+	unsigned long size = height * accel_state->dst_obj.pitch * pDst->drawable.bitsPerPixel/8;
+
 	if (accel_state->copy_area) {
 		exaOffscreenFree(pDst->drawable.pScreen, accel_state->copy_area);
 		accel_state->copy_area = NULL;
@@ -978,7 +979,8 @@ static Bool R600TextureSetup(PicturePtr 
 tex_res.bo  = accel_state->src_obj[unit].bo;
 tex_res.mip_bo  = accel_state->src_obj[unit].bo;
 #ifdef XF86DRM_MODE
-tex_res.surface = accel_state->src_obj[unit].surface;
+if (info->cs) 
+tex_res.surface = accel_state->src_obj[unit].surface;
 #endif
 tex_res.request_size= 1;
 
@@ -1447,7 +1449,8 @@ static Bool R600PrepareComposite(int op,
 cb_conf.format = dst_format;
 cb_conf.bo = accel_state->dst_obj.bo;
 #ifdef XF86DRM_MODE
-cb_conf.surface = accel_state->dst_obj.surface;
+if (info->cs) 
+cb_conf.surface = accel_state->dst_obj.surface;
 #endif
 
 switch (pDstPicture->format) {
@@ -1899,9 +1902,7 @@ R600UploadToScreenCS(PixmapPtr pDst, int
 src_obj.domain = RADEON_GEM_DOMAIN_GTT;
 src_obj.bo = scratch;
 src_obj.tiling_flags = 0;
-#ifdef XF86DRM_MODE
 src_obj.surface = NULL;
-#endif
 
 dst_obj.pitch = dst_pitch_hw;
 dst_obj.width = pDst->drawable.width;
@@ -1911,9 +1912,7 @@ R600UploadToScreenCS(PixmapPtr pDst, int
 dst_obj.domain = RADEON_GEM_DOMAIN_VRAM;
 dst_obj.bo = radeon_get_pixm

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2013-11-06 Thread Michael Lorenz
Module Name:xsrc
Committed By:   macallan
Date:   Wed Nov  6 19:00:58 UTC 2013

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_exa_render.c

Log Message:
fix xrender ops with a solid source without an actual pixmap for R2xx and R3xx
on big endian hardware as well
tested on macppc


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c:1.2 xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c:1.3
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c:1.2	Tue Oct 29 01:06:03 2013
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c	Wed Nov  6 19:00:58 2013
@@ -1025,7 +1025,7 @@ static Bool FUNC_NAME(R200PrepareComposi
 	RADEON_FALLBACK(("Bad destination pitch 0x%x\n", (int)dst_pitch));
 
 if (!pSrc) {
-	pSrc = RADEONSolidPixmap(pScreen, cpu_to_le32(pSrcPicture->pSourcePict->solidFill.color));
+	pSrc = RADEONSolidPixmap(pScreen, pSrcPicture->pSourcePict->solidFill.color);
 	if (!pSrc)
 	RADEON_FALLBACK("Failed to create solid scratch pixmap\n");
 }
@@ -1034,7 +1034,7 @@ static Bool FUNC_NAME(R200PrepareComposi
 	return FALSE;
 
 if (pMaskPicture && !pMask) {
-	pMask = RADEONSolidPixmap(pScreen, cpu_to_le32(pMaskPicture->pSourcePict->solidFill.color));
+	pMask = RADEONSolidPixmap(pScreen, pMaskPicture->pSourcePict->solidFill.color);
 	if (!pMask) {
 	if (!pSrcPicture->pDrawable)
 		pScreen->DestroyPixmap(pSrc);
@@ -1533,7 +1533,7 @@ static Bool FUNC_NAME(R300PrepareComposi
 	RADEON_FALLBACK(("Bad destination pitch 0x%x\n", (int)dst_pitch));
 
 if (!pSrc) {
-	pSrc = RADEONSolidPixmap(pScreen, cpu_to_le32(pSrcPicture->pSourcePict->solidFill.color));
+	pSrc = RADEONSolidPixmap(pScreen, pSrcPicture->pSourcePict->solidFill.color);
 	if (!pSrc)
 	RADEON_FALLBACK("Failed to create solid scratch pixmap\n");
 }
@@ -1542,7 +1542,7 @@ static Bool FUNC_NAME(R300PrepareComposi
 	return FALSE;
 
 if (pMaskPicture && !pMask) {
-	pMask = RADEONSolidPixmap(pScreen, cpu_to_le32(pMaskPicture->pSourcePict->solidFill.color));
+	pMask = RADEONSolidPixmap(pScreen, pMaskPicture->pSourcePict->solidFill.color);
 	if (!pMask) {
 	if (!pSrcPicture->pDrawable)
 		pScreen->DestroyPixmap(pSrc);



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2013-10-28 Thread Michael Lorenz
Module Name:xsrc
Committed By:   macallan
Date:   Tue Oct 29 01:06:03 UTC 2013

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_exa_render.c

Log Message:
Don't endian-twiddle solid source colours in composite operations on R1xx
Now gtk2-rendered text looks right again with EXA and xrender acceleration
enabled.
Probably needs similar fixes for R2xx, also needs testing on little-endian
hardware.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.10 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c:1.1.1.10 xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c:1.1.1.10	Sun Sep 23 19:49:35 2012
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_render.c	Tue Oct 29 01:06:03 2013
@@ -649,7 +649,7 @@ static Bool FUNC_NAME(R100PrepareComposi
 CHECK_OFFSET(pDst, 0x0f, "destination");
 
 if (!pSrc) {
-	pSrc = RADEONSolidPixmap(pScreen, cpu_to_le32(pSrcPicture->pSourcePict->solidFill.color));
+	pSrc = RADEONSolidPixmap(pScreen, pSrcPicture->pSourcePict->solidFill.color);
 	if (!pSrc)
 	RADEON_FALLBACK("Failed to create solid scratch pixmap\n");
 }
@@ -661,7 +661,7 @@ static Bool FUNC_NAME(R100PrepareComposi
 	return FALSE;
 
 if (pMaskPicture && !pMask) {
-	pMask = RADEONSolidPixmap(pScreen, cpu_to_le32(pMaskPicture->pSourcePict->solidFill.color));
+	pMask = RADEONSolidPixmap(pScreen, pMaskPicture->pSourcePict->solidFill.color);
 	if (!pMask) {
 	if (!pSrcPicture->pDrawable)
 		pScreen->DestroyPixmap(pSrc);



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2012-09-23 Thread Bernd Ernesti
Module Name:xsrc
Committed By:   veego
Date:   Sun Sep 23 20:10:25 UTC 2012

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: atombios_crtc.c
atombios_output.c radeon_crtc.c

Log Message:
Disable a lot of debug output which would show up if you change from the
xserver to another console and back


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.8 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c
cvs rdiff -u -r1.1.1.10 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/atombios_output.c
cvs rdiff -u -r1.1.1.9 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_crtc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c:1.1.1.8 xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c:1.1.1.8	Sun Sep 23 19:49:10 2012
+++ xsrc/external/mit/xf86-video-ati/dist/src/atombios_crtc.c	Sun Sep 23 20:10:25 2012
@@ -87,7 +87,7 @@ atombios_lock_crtc(atomBiosHandlePtr ato
 data.exec.pspace = &crtc_data;
 
 if (RHDAtomBiosFunc(atomBIOS->pScrn, atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
-	ErrorF("%s CRTC %d success\n", lock? "Lock":"Unlock", crtc);
+/*	ErrorF("%s CRTC %d success\n", lock? "Lock":"Unlock", crtc); */
 	return ATOM_SUCCESS ;
 }
 
@@ -110,7 +110,7 @@ atombios_enable_crtc(atomBiosHandlePtr a
 data.exec.pspace = &crtc_data;
 
 if (RHDAtomBiosFunc(atomBIOS->pScrn, atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
-	ErrorF("%s CRTC %d success\n", state? "Enable":"Disable", crtc);
+/*	ErrorF("%s CRTC %d success\n", state? "Enable":"Disable", crtc); */
 	return ATOM_SUCCESS ;
 }
 
@@ -133,7 +133,7 @@ atombios_enable_crtc_memreq(atomBiosHand
 data.exec.pspace = &crtc_data;
 
 if (RHDAtomBiosFunc(atomBIOS->pScrn, atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
-	ErrorF("%s CRTC memreq %d success\n", state? "Enable":"Disable", crtc);
+/*	ErrorF("%s CRTC memreq %d success\n", state? "Enable":"Disable", crtc); */
 	return ATOM_SUCCESS ;
 }
 
@@ -157,7 +157,7 @@ atombios_blank_crtc(atomBiosHandlePtr at
 data.exec.pspace = &crtc_data;
 
 if (RHDAtomBiosFunc(atomBIOS->pScrn, atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
-	ErrorF("%s CRTC %d success\n", state? "Blank":"Unblank", crtc);
+/*	ErrorF("%s CRTC %d success\n", state? "Blank":"Unblank", crtc); */
 	return ATOM_SUCCESS ;
 }
 
@@ -231,7 +231,7 @@ atombios_set_crtc_timing(xf86CrtcPtr crt
 data.exec.pspace = ¶m;
 
 if (RHDAtomBiosFunc(info->atomBIOS->pScrn, info->atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
-	ErrorF("Set CRTC Timing success\n");
+/*	ErrorF("Set CRTC Timing success\n"); */
 	return ATOM_SUCCESS ;
 }
 
@@ -282,7 +282,7 @@ atombios_set_crtc_dtd_timing(xf86CrtcPtr
 data.exec.pspace = ¶m;
 
 if (RHDAtomBiosFunc(info->atomBIOS->pScrn, info->atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
-	ErrorF("Set DTD CRTC Timing success\n");
+/*	ErrorF("Set DTD CRTC Timing success\n"); */
 	return ATOM_SUCCESS ;
 }
 
@@ -336,7 +336,7 @@ atombios_pick_pll(xf86CrtcPtr crtc)
 } else
 	radeon_crtc->pll_id = radeon_crtc->crtc_id;
 
-ErrorF("Picked PLL %d\n", radeon_crtc->pll_id);
+/*ErrorF("Picked PLL %d\n", radeon_crtc->pll_id); */
 
 for (o = 0; o < xf86_config->num_output; o++) {
 	output = xf86_config->output[o];
@@ -449,11 +449,11 @@ static uint32_t atombios_adjust_pll(xf86
 		args.v1.ucTransmitterID = radeon_encoder->encoder_id;
 		args.v1.ucEncodeMode = atombios_get_encoder_mode(output);
 
-		ErrorF("before %d\n", args.v1.usPixelClock);
+/*		ErrorF("before %d\n", args.v1.usPixelClock); */
 		if (RHDAtomBiosFunc(info->atomBIOS->pScrn, info->atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
 		adjusted_clock = le16_to_cpu(args.v1.usPixelClock) * 10;
 		}
-		ErrorF("after %d\n", args.v1.usPixelClock);
+/*		ErrorF("after %d\n", args.v1.usPixelClock); */
 		break;
 	case 3:
 		args.v3.sInput.usPixelClock = cpu_to_le16(adjusted_clock / 10);
@@ -467,7 +467,7 @@ static uint32_t atombios_adjust_pll(xf86
 		// if SS
 		//args.v3.sInput.ucDispPllConfig |= DISPPLL_CONFIG_SS_ENABLE;
 
-		ErrorF("before %d 0x%x\n", args.v3.sInput.usPixelClock, args.v3.sInput.ucDispPllConfig);
+/*		ErrorF("before %d 0x%x\n", args.v3.sInput.usPixelClock, args.v3.sInput.ucDispPllConfig); */
 		if (RHDAtomBiosFunc(info->atomBIOS->pScrn, info->atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
 		adjusted_clock = args.v3.sOutput.ulDispPllFreq * 10;
 		if (args.v3.sOutput.ucRefDiv) {
@@ -478,8 +478,8 @@ static uint32_t atombios_adjust_pll(xf86
 			pll_flags |= RADEON_PLL_USE_POST_DIV;
 			info->pll.post_div = args.v3.sOutput.ucPostDiv;
 		}
-		ErrorF("after %d %d %d\n", args.v3.sOutput.ulDispPllFreq,
-			   args.v

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2012-09-23 Thread Bernd Ernesti
Module Name:xsrc
Committed By:   veego
Date:   Sun Sep 23 20:06:03 UTC 2012

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: legacy_crtc.c r600_exa.c
radeon_accelfuncs.c radeon_cursor.c radeon_dri.c radeon_driver.c
radeon_exa_funcs.c radeon_textured_video.c

Log Message:
merge xf86-video-ati 6.14.6


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c \
xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_accelfuncs.c
cvs rdiff -u -r1.6 -r1.7 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c
cvs rdiff -u -r1.8 -r1.9 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c
cvs rdiff -u -r1.11 -r1.12 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c
cvs rdiff -u -r1.3 -r1.4 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_textured_video.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c:1.4 xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c:1.5
--- xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c:1.4	Sat Jul 17 06:34:13 2010
+++ xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c	Sun Sep 23 20:06:02 2012
@@ -854,7 +854,7 @@ RADEONInitCrtcBase(xf86CrtcPtr crtc, RAD
 /*** NOTE: r3/4xx will need sarea and drm pageflip updates to handle the xytile regs for
 	 *** pageflipping!
 	 ***/
-	pSAREAPriv = DRIGetSAREAPrivate(screenInfo.screens[pScrn->scrnIndex]);
+	pSAREAPriv = DRIGetSAREAPrivate(xf86ScrnToScreen(pScrn));
 	/* can't get at sarea in a semi-sane way? */
 	pSAREA = (void *)((char*)pSAREAPriv - sizeof(XF86DRISAREARec));
 
@@ -1075,7 +1075,7 @@ RADEONInitCrtc2Base(xf86CrtcPtr crtc, RA
 /*** NOTE: r3/4xx will need sarea and drm pageflip updates to handle the xytile regs for
 	 *** pageflipping!
 	 ***/
-	pSAREAPriv = DRIGetSAREAPrivate(screenInfo.screens[pScrn->scrnIndex]);
+	pSAREAPriv = DRIGetSAREAPrivate(xf86ScrnToScreen(pScrn));
 	/* can't get at sarea in a semi-sane way? */
 	pSAREA = (void *)((char*)pSAREAPriv - sizeof(XF86DRISAREARec));
 
@@ -1886,10 +1886,10 @@ legacy_crtc_mode_set(xf86CrtcPtr crtc, D
 	/* need to redraw front buffer, I guess this can be considered a hack ? */
 	/* if this is called during ScreenInit() we don't have pScrn->pScreen yet */
 	if (pScrn->pScreen)
-	xf86EnableDisableFBAccess(pScrn->scrnIndex, FALSE);
+	xf86EnableDisableFBAccess(XF86_ENABLEDISABLEFB_ARG(pScrn), FALSE);
 	RADEONChangeSurfaces(pScrn);
 	if (pScrn->pScreen)
-	xf86EnableDisableFBAccess(pScrn->scrnIndex, TRUE);
+	xf86EnableDisableFBAccess(XF86_ENABLEDISABLEFB_ARG(pScrn), TRUE);
 	/* xf86SetRootClip would do, but can't access that here */
 }
 
Index: xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.4 xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.5
--- xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.4	Sun Jun  3 16:42:22 2012
+++ xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c	Sun Sep 23 20:06:02 2012
@@ -168,7 +168,7 @@ R600SetAccelState(ScrnInfoPtr pScrn,
 static Bool
 R600PrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg)
 {
-ScrnInfoPtr pScrn = xf86Screens[pPix->drawable.pScreen->myNum];
+ScrnInfoPtr pScrn = xf86ScreenToScrn(pPix->drawable.pScreen);
 RADEONInfoPtr info = RADEONPTR(pScrn);
 struct radeon_accel_state *accel_state = info->accel_state;
 cb_config_t cb_conf;
@@ -323,7 +323,7 @@ R600PrepareSolid(PixmapPtr pPix, int alu
 static void
 R600DoneSolid(PixmapPtr pPix)
 {
-ScrnInfoPtr pScrn = xf86Screens[pPix->drawable.pScreen->myNum];
+ScrnInfoPtr pScrn = xf86ScreenToScrn(pPix->drawable.pScreen);
 RADEONInfoPtr info = RADEONPTR(pScrn);
 struct radeon_accel_state *accel_state = info->accel_state;
 
@@ -339,7 +339,7 @@ R600DoneSolid(PixmapPtr pPix)
 static void
 R600Solid(PixmapPtr pPix, int x1, int y1, int x2, int y2)
 {
-ScrnInfoPtr pScrn = xf86Screens[pPix->drawable.pScreen->myNum];
+ScrnInfoPtr pScrn = xf86ScreenToScrn(pPix->drawable.pScreen);
 RADEONInfoPtr info = RADEONPTR(pScrn);
 struct radeon_accel_state *accel_state = info->accel_state;
 float *vb;
@@ -517,7 +517,7 @@ R600DoCopy(ScrnInfoPtr pScrn)
 static void
 R600DoCopyVline(PixmapPtr pPix)
 {
-ScrnInfoPtr pScrn = xf86Screens[pPix->drawable.pScreen->myNum];
+ScrnInfoPtr pScrn = xf86ScreenToScrn(pPix->drawable.pScreen);
 RADEONInfoPtr info = RADEONPTR(pScrn);
 struct radeon_accel_state *accel_state = info->accel_state;
 
@@ -566,7 +566,7 @@ R600PrepareCopy(PixmapPtr pSrc,   Pixmap
 		int rop,
 		Pixel planemask)
 {

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2012-06-03 Thread Robert Swindells
Module Name:xsrc
Committed By:   rjs
Date:   Sun Jun  3 16:42:23 UTC 2012

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: r600_exa.c r6xx_accel.c
radeon_dri.c radeon_driver.c radeon_exa_funcs.c
radeon_textured_video.c

Log Message:
merge xf86-video-ati 6.14.4


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c
cvs rdiff -u -r1.5 -r1.6 \
xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c
cvs rdiff -u -r1.7 -r1.8 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c
cvs rdiff -u -r1.10 -r1.11 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_textured_video.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.3 xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.4
--- xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.3	Sat Jul 23 08:27:24 2011
+++ xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c	Sun Jun  3 16:42:22 2012
@@ -62,15 +62,11 @@ R600SetAccelState(ScrnInfoPtr pScrn,
 	memcpy(&accel_state->src_obj[0], src0, sizeof(struct r600_accel_object));
 	accel_state->src_size[0] = src0->pitch * src0->height * (src0->bpp/8);
 #if defined(XF86DRM_MODE)
-	if (info->cs) {
-	pitch_align = drmmode_get_pitch_align(pScrn,
-		  accel_state->src_obj[0].bpp / 8,
-		  accel_state->src_obj[0].tiling_flags) - 1;
-	base_align = drmmode_get_base_align(pScrn,
-		accel_state->src_obj[0].bpp / 8,
-		accel_state->src_obj[0].tiling_flags) - 1;
+	if (info->cs && src0->surface) {
+		accel_state->src_size[0] = src0->surface->bo_size;
 	}
 #endif
+
 	/* bad pitch */
 	if (accel_state->src_obj[0].pitch & pitch_align)
 	RADEON_FALLBACK(("Bad src pitch 0x%08x\n", accel_state->src_obj[0].pitch));
@@ -88,15 +84,11 @@ R600SetAccelState(ScrnInfoPtr pScrn,
 	memcpy(&accel_state->src_obj[1], src1, sizeof(struct r600_accel_object));
 	accel_state->src_size[1] = src1->pitch * src1->height * (src1->bpp/8);
 #if defined(XF86DRM_MODE)
-	if (info->cs) {
-	pitch_align = drmmode_get_pitch_align(pScrn,
-		  accel_state->src_obj[1].bpp / 8,
-		  accel_state->src_obj[1].tiling_flags) - 1;
-	base_align = drmmode_get_base_align(pScrn,
-		accel_state->src_obj[1].bpp / 8,
-		accel_state->src_obj[1].tiling_flags) - 1;
+	if (info->cs && src1->surface) {
+		accel_state->src_size[1] = src1->surface->bo_size;
 	}
 #endif
+
 	/* bad pitch */
 	if (accel_state->src_obj[1].pitch & pitch_align)
 	RADEON_FALLBACK(("Bad src pitch 0x%08x\n", accel_state->src_obj[1].pitch));
@@ -113,15 +105,13 @@ R600SetAccelState(ScrnInfoPtr pScrn,
 	memcpy(&accel_state->dst_obj, dst, sizeof(struct r600_accel_object));
 	accel_state->dst_size = dst->pitch * dst->height * (dst->bpp/8);
 #if defined(XF86DRM_MODE)
-	if (info->cs) {
-	pitch_align = drmmode_get_pitch_align(pScrn,
-		  accel_state->dst_obj.bpp / 8,
-		  accel_state->dst_obj.tiling_flags) - 1;
-	base_align = drmmode_get_base_align(pScrn,
-		accel_state->dst_obj.bpp / 8,
-		accel_state->dst_obj.tiling_flags) - 1;
-	}
+	if (info->cs && dst->surface) {
+		accel_state->dst_size = dst->surface->bo_size;
+	} else
 #endif
+	{
+		accel_state->dst_obj.tiling_flags = 0;
+	}
 	if (accel_state->dst_obj.pitch & pitch_align)
 	RADEON_FALLBACK(("Bad dst pitch 0x%08x\n", accel_state->dst_obj.pitch));
 
@@ -132,6 +122,11 @@ R600SetAccelState(ScrnInfoPtr pScrn,
 	accel_state->dst_size = 0;
 }
 
+#ifdef XF86DRM_MODE
+if (info->cs && CS_FULL(info->cs))
+	radeon_cs_flush_indirect(pScrn);
+#endif
+
 accel_state->rop = rop;
 accel_state->planemask = planemask;
 
@@ -170,9 +165,6 @@ R600SetAccelState(ScrnInfoPtr pScrn,
 return TRUE;
 }
 
-static void
-R600DoneSolid(PixmapPtr pPix);
-
 static Bool
 R600PrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg)
 {
@@ -195,6 +187,7 @@ R600PrepareSolid(PixmapPtr pPix, int alu
 	dst.offset = 0;
 	dst.bo = radeon_get_pixmap_bo(pPix);
 	dst.tiling_flags = radeon_get_pixmap_tiling(pPix);
+	dst.surface = radeon_get_pixmap_surface(pPix);
 } else
 #endif
 {
@@ -252,6 +245,9 @@ R600PrepareSolid(PixmapPtr pPix, int alu
 cb_conf.h = accel_state->dst_obj.height;
 cb_conf.base = accel_state->dst_obj.offset;
 cb_conf.bo = accel_state->dst_obj.bo;
+#ifdef XF86DRM_MODE
+cb_conf.surface = accel_state->dst_obj.surface;
+#endif
 
 if (accel_state->dst_obj.bpp == 8) {
 	cb_conf.format = COLOR_8;
@@ -282,7 +278,7 @@ R600PrepareSolid(PixmapPtr pPix, int alu
 	cb_conf.pmask |= 8; /* A */
 cb_conf.rop = accel_state->rop;
 if (accel_state->dst_obj.tiling_flags == 0)
-	cb_conf.array_mode = 1;
+

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2011-08-24 Thread Michael Lorenz
Module Name:xsrc
Committed By:   macallan
Date:   Wed Aug 24 22:40:56 UTC 2011

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_driver.c

Log Message:
now that xrender acceleration on R1xx works again there is no reason not to
enable it by default


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c:1.9 xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c:1.10
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c:1.9	Sun Mar 20 07:08:58 2011
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c	Wed Aug 24 22:40:56 2011
@@ -178,7 +178,7 @@
 { OPTION_SCALER_WIDTH,"ScalerWidth",  OPTV_INTEGER, {0}, FALSE }, 
 #endif
 #ifdef RENDER
-{ OPTION_RENDER_ACCEL,   "RenderAccel",  OPTV_BOOLEAN, {0}, FALSE },
+{ OPTION_RENDER_ACCEL,   "RenderAccel",  OPTV_BOOLEAN, {0}, TRUE },
 { OPTION_SUBPIXEL_ORDER, "SubPixelOrder",OPTV_ANYSTR,  {0}, FALSE },
 #endif
 { OPTION_CLOCK_GATING,   "ClockGating",  OPTV_BOOLEAN, {0}, FALSE },



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2011-07-23 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Sat Jul 23 08:27:24 UTC 2011

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: r600_exa.c

Log Message:
merge xf86-video-ati 6.14.2


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.2 xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.3
--- xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.2	Sun Mar 20 10:40:24 2011
+++ xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c	Sat Jul 23 08:27:24 2011
@@ -53,7 +53,6 @@
 {
 RADEONInfoPtr info = RADEONPTR(pScrn);
 struct radeon_accel_state *accel_state = info->accel_state;
-uint32_t pitch = 0;
 uint32_t pitch_align = 0x7, base_align = 0xff;
 #if defined(XF86DRM_MODE)
 int ret;
@@ -64,11 +63,6 @@
 	accel_state->src_size[0] = src0->pitch * src0->height * (src0->bpp/8);
 #if defined(XF86DRM_MODE)
 	if (info->cs) {
-	ret = radeon_bo_get_tiling(accel_state->src_obj[0].bo,
-   &accel_state->src_obj[0].tiling_flags,
-   &pitch);
-	if (ret)
-		RADEON_FALLBACK(("src0 radeon_bo_get_tiling failed\n"));
 	pitch_align = drmmode_get_pitch_align(pScrn,
 		  accel_state->src_obj[0].bpp / 8,
 		  accel_state->src_obj[0].tiling_flags) - 1;
@@ -95,11 +89,6 @@
 	accel_state->src_size[1] = src1->pitch * src1->height * (src1->bpp/8);
 #if defined(XF86DRM_MODE)
 	if (info->cs) {
-	ret = radeon_bo_get_tiling(accel_state->src_obj[1].bo,
-   &accel_state->src_obj[1].tiling_flags,
-   &pitch);
-	if (ret)
-		RADEON_FALLBACK(("src1 radeon_bo_get_tiling failed\n"));
 	pitch_align = drmmode_get_pitch_align(pScrn,
 		  accel_state->src_obj[1].bpp / 8,
 		  accel_state->src_obj[1].tiling_flags) - 1;
@@ -125,11 +114,6 @@
 	accel_state->dst_size = dst->pitch * dst->height * (dst->bpp/8);
 #if defined(XF86DRM_MODE)
 	if (info->cs) {
-	ret = radeon_bo_get_tiling(accel_state->dst_obj.bo,
-   &accel_state->dst_obj.tiling_flags,
-   &pitch);
-	if (ret)
-		RADEON_FALLBACK(("dst radeon_bo_get_tiling failed\n"));
 	pitch_align = drmmode_get_pitch_align(pScrn,
 		  accel_state->dst_obj.bpp / 8,
 		  accel_state->dst_obj.tiling_flags) - 1;
@@ -210,6 +194,7 @@
 if (info->cs) {
 	dst.offset = 0;
 	dst.bo = radeon_get_pixmap_bo(pPix);
+	dst.tiling_flags = radeon_get_pixmap_tiling(pPix);
 } else
 #endif
 {
@@ -589,6 +574,8 @@
 	dst_obj.offset = 0;
 	src_obj.bo = radeon_get_pixmap_bo(pSrc);
 	dst_obj.bo = radeon_get_pixmap_bo(pDst);
+	dst_obj.tiling_flags = radeon_get_pixmap_tiling(pDst);
+	src_obj.tiling_flags = radeon_get_pixmap_tiling(pSrc);
 	if (radeon_get_pixmap_bo(pSrc) == radeon_get_pixmap_bo(pDst))
 	accel_state->same_surface = TRUE;
 } else
@@ -1269,6 +1256,8 @@
 	dst_obj.offset = 0;
 	src_obj.bo = radeon_get_pixmap_bo(pSrc);
 	dst_obj.bo = radeon_get_pixmap_bo(pDst);
+	dst_obj.tiling_flags = radeon_get_pixmap_tiling(pDst);
+	src_obj.tiling_flags = radeon_get_pixmap_tiling(pSrc);
 } else
 #endif
 {
@@ -1295,6 +1284,7 @@
 	if (info->cs) {
 	mask_obj.offset = 0;
 	mask_obj.bo = radeon_get_pixmap_bo(pMask);
+	mask_obj.tiling_flags = radeon_get_pixmap_tiling(pMask);
 	} else
 #endif
 	{
@@ -1784,7 +1774,7 @@
 Bool r;
 int i;
 struct r600_accel_object src_obj, dst_obj;
-uint32_t tiling_flags = 0, pitch = 0, height, base_align;
+uint32_t height, base_align;
 
 if (bpp < 8)
 	return FALSE;
@@ -1793,14 +1783,10 @@
 if (!driver_priv || !driver_priv->bo)
 	return FALSE;
 
-ret = radeon_bo_get_tiling(driver_priv->bo, &tiling_flags, &pitch);
-if (ret)
-	ErrorF("radeon_bo_get_tiling failed\n");
-
 /* If we know the BO won't be busy, don't bother with a scratch */
 copy_dst = driver_priv->bo;
 copy_pitch = pDst->devKind;
-if (!(tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO))) {
+if (!(driver_priv->tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO))) {
 	if (!radeon_bo_is_referenced_by_cs(driver_priv->bo, info->cs)) {
 	flush = FALSE;
 	if (!radeon_bo_is_busy(driver_priv->bo, &dst_domain))
@@ -1824,6 +1810,7 @@
 src_obj.bpp = bpp;
 src_obj.domain = RADEON_GEM_DOMAIN_GTT;
 src_obj.bo = scratch;
+src_obj.tiling_flags = 0;
 
 dst_obj.pitch = dst_pitch_hw;
 dst_obj.width = pDst->drawable.width;
@@ -1832,6 +1819,7 @@
 dst_obj.bpp = bpp;
 dst_obj.domain = RADEON_GEM_DOMAIN_VRAM;
 dst_obj.bo = radeon_get_pixmap_bo(pDst);
+dst_obj.tiling_flags = radeon_get_pixmap_tiling(pDst);
 
 if (!R600SetAccelState(pScrn,
 			   &src_obj,
@@ -1901,7 +1889,7 @@
 Bool flush = FALSE;
 Bool r;
 struct r600_accel_object src_obj, dst_obj;
-uin

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2011-07-23 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Sat Jul 23 08:19:19 UTC 2011

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_exa_funcs.c

Log Message:
merge xf86-video-ati 6.14.2.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c:1.6 xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c:1.7
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c:1.6	Mon Feb 21 00:58:49 2011
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c	Sat Jul 23 08:19:19 2011
@@ -474,7 +474,6 @@
 Bool flush = TRUE;
 Bool r;
 int i;
-uint32_t tiling_flags = 0, pitch = 0;
 
 if (bpp < 8)
 	return FALSE;
@@ -483,10 +482,6 @@
 if (!driver_priv || !driver_priv->bo)
 	return FALSE;
 
-ret = radeon_bo_get_tiling(driver_priv->bo, &tiling_flags, &pitch);
-if (ret)
-	ErrorF("radeon_bo_get_tiling failed\n");
-
 #if X_BYTE_ORDER == X_BIG_ENDIAN
 switch (bpp) {
 case 32:
@@ -501,7 +496,7 @@
 /* If we know the BO won't be busy, don't bother with a scratch */
 copy_dst = driver_priv->bo;
 copy_pitch = pDst->devKind;
-if (!(tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO))) {
+if (!(driver_priv->tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO))) {
 	if (!radeon_bo_is_referenced_by_cs(driver_priv->bo, info->cs)) {
 	flush = FALSE;
 	if (!radeon_bo_is_busy(driver_priv->bo, &dst_domain))
@@ -580,7 +575,6 @@
 int ret;
 Bool flush = FALSE;
 Bool r;
-uint32_t tiling_flags = 0, pitch = 0;
 
 if (bpp < 8)
 	return FALSE;
@@ -589,10 +583,6 @@
 if (!driver_priv || !driver_priv->bo)
 	return FALSE;
 
-ret = radeon_bo_get_tiling(driver_priv->bo, &tiling_flags, &pitch);
-if (ret)
-	ErrorF("radeon_bo_get_tiling failed\n");
-
 #if X_BYTE_ORDER == X_BIG_ENDIAN
 switch (bpp) {
 case 32:
@@ -607,7 +597,7 @@
 /* If we know the BO won't end up in VRAM anyway, don't bother with a scratch */
 copy_src = driver_priv->bo;
 copy_pitch = pSrc->devKind;
-if (!(tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO))) {
+if (!(driver_priv->tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO))) {
 	if (radeon_bo_is_referenced_by_cs(driver_priv->bo, info->cs)) {
 	src_domain = radeon_bo_get_src_domain(driver_priv->bo);
 	if ((src_domain & (RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM)) ==



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2011-07-05 Thread Michael Lorenz
Module Name:xsrc
Committed By:   macallan
Date:   Wed Jul  6 03:59:55 UTC 2011

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_accelfuncs.c

Log Message:
xrender acceleration with XAA works again on r1xx and didn't seem to be
broken on r2xx so don't disable it anymore


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_accelfuncs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_accelfuncs.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_accelfuncs.c:1.1.1.4 xsrc/external/mit/xf86-video-ati/dist/src/radeon_accelfuncs.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_accelfuncs.c:1.1.1.4	Sat Jul 17 06:31:48 2010
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_accelfuncs.c	Wed Jul  6 03:59:54 2011
@@ -1332,7 +1332,6 @@
 #endif
 
 #ifdef RENDER
-info->RenderAccel = FALSE;
 if (info->RenderAccel && info->xaaReq.minorversion >= 2) {
 
 	a->CPUToScreenAlphaTextureFlags = XAA_RENDER_POWER_OF_2_TILE_ONLY;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2011-07-05 Thread Michael Lorenz
Module Name:xsrc
Committed By:   macallan
Date:   Wed Jul  6 03:43:41 UTC 2011

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_render.c

Log Message:
make Xrender acceleration work again on R1xx
tested on a Sun XVR-100


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_render.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_render.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_render.c:1.1.1.3 xsrc/external/mit/xf86-video-ati/dist/src/radeon_render.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_render.c:1.1.1.3	Sun May 23 06:09:25 2010
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_render.c	Wed Jul  6 03:43:41 2011
@@ -409,6 +409,9 @@
 dst_pitch = RADEON_ALIGN(width * tex_bytepp, 64);
 size = dst_pitch * height;
 
+info->accel_state->texW[0] = width;
+info->accel_state->texH[0] = height;
+
 if ((flags & XAA_RENDER_REPEAT) && (height != 1) &&
 	(RADEON_ALIGN(width * tex_bytepp, 32) != dst_pitch))
 	return FALSE;
@@ -432,7 +435,7 @@
 	txformat |= ATILog2(width) << RADEON_TXFORMAT_WIDTH_SHIFT;
 	txformat |= ATILog2(height) << RADEON_TXFORMAT_HEIGHT_SHIFT;
 } else {
-	tex_size = (height << 16) | width;
+	tex_size = ((height - 1) << 16) | (width - 1);
 	txformat |= RADEON_TXFORMAT_NON_POWER2;
 }
 
@@ -462,7 +465,6 @@
 
 if (info->accel_state->accel->NeedToSync)
 	info->accel_state->accel->Sync(pScrn);
-
 while (height--) {
 	memcpy(dst, src, width * tex_bytepp);
 	src += src_pitch;
@@ -633,10 +635,10 @@
 
 r = width + l;
 b = height + t;
-fl = srcx;
-fr = srcx + width;
-ft = srcy;
-fb = srcy + height;
+fl = (float)srcx / info->accel_state->texW[0];
+fr = (float)(srcx + width) / info->accel_state->texW[0];
+ft = (float)srcy / info->accel_state->texH[0];
+fb = (float)(srcy + height) / info->accel_state->texH[0];
 
 #ifdef ACCEL_CP
 BEGIN_RING(25);



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2011-03-20 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Sun Mar 20 10:40:24 UTC 2011

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: r600_exa.c
radeon_textured_video.c

Log Message:
avoid drmmode_get_height_align() in non XF86MODE (KMS) code.
fixes this on r6xx/r7xx.  (other cards wouldn't have called
into the path that failed.)


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.7 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c
cvs rdiff -u -r1.1.1.6 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_textured_video.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.1.1.7 xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c:1.1.1.7	Sun Mar 20 07:08:03 2011
+++ xsrc/external/mit/xf86-video-ati/dist/src/r600_exa.c	Sun Mar 20 10:40:24 2011
@@ -621,8 +621,12 @@
 	return FALSE;
 
 if (accel_state->same_surface == TRUE) {
+#if defined(XF86DRM_MODE)
 	unsigned height = RADEON_ALIGN(pDst->drawable.height,
    drmmode_get_height_align(pScrn, accel_state->dst_obj.tiling_flags));
+#else
+	unsigned height = pDst->drawable.height;
+#endif
 	unsigned long size = height * accel_state->dst_obj.pitch * pDst->drawable.bitsPerPixel/8;
 
 #if defined(XF86DRM_MODE)

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_textured_video.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_textured_video.c:1.1.1.6 xsrc/external/mit/xf86-video-ati/dist/src/radeon_textured_video.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_textured_video.c:1.1.1.6	Sun Mar 20 07:08:03 2011
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_textured_video.c	Sun Mar 20 10:40:24 2011
@@ -248,7 +248,11 @@
 BoxRec dstBox;
 int dst_width = width, dst_height = height;
 int aligned_height;
+#ifdef XF86DRM_MODE
 int h_align = drmmode_get_height_align(pScrn, 0);
+#else
+int h_align = 1;
+#endif
 /* make the compiler happy */
 s2offset = s3offset = srcPitch2 = 0;
 



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2011-03-20 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Sun Mar 20 07:08:58 UTC 2011

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: r6xx_accel.c radeon_driver.c

Log Message:
merge xf86-video-ati 6.14.1


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c
cvs rdiff -u -r1.8 -r1.9 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c:1.4 xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c:1.5
--- xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c:1.4	Mon Feb 21 00:58:48 2011
+++ xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c	Sun Mar 20 07:08:58 2011
@@ -41,6 +41,25 @@
 #include "radeon_vbo.h"
 #include "radeon_exa_shared.h"
 
+static const uint32_t R600_ROP[16] = {
+RADEON_ROP3_ZERO, /* GXclear*/
+RADEON_ROP3_DSa,  /* Gxand  */
+RADEON_ROP3_SDna, /* GXandReverse   */
+RADEON_ROP3_S,/* GXcopy */
+RADEON_ROP3_DSna, /* GXandInverted  */
+RADEON_ROP3_D,/* GXnoop */
+RADEON_ROP3_DSx,  /* GXxor  */
+RADEON_ROP3_DSo,  /* GXor   */
+RADEON_ROP3_DSon, /* GXnor  */
+RADEON_ROP3_DSxn, /* GXequiv*/
+RADEON_ROP3_Dn,   /* GXinvert   */
+RADEON_ROP3_SDno, /* GXorReverse*/
+RADEON_ROP3_Sn,   /* GXcopyInverted */
+RADEON_ROP3_DSno, /* GXorInverted   */
+RADEON_ROP3_DSan, /* GXnand */
+RADEON_ROP3_ONE,  /* GXset  */
+};
+
 /* we try and batch operations together under KMS -
but it doesn't work yet without misrendering */
 #define KMS_MULTI_OP 1
@@ -203,7 +222,7 @@
 void
 r600_set_render_target(ScrnInfoPtr pScrn, drmBufPtr ib, cb_config_t *cb_conf, uint32_t domain)
 {
-uint32_t cb_color_info;
+uint32_t cb_color_info, cb_color_control;
 int pitch, slice, h;
 RADEONInfoPtr info = RADEONPTR(pScrn);
 
@@ -276,6 +295,21 @@
 RELOC_BATCH(cb_conf->bo, 0, domain);
 END_BATCH();
 
+BEGIN_BATCH(9);
+EREG(ib, CB_TARGET_MASK,  (cb_conf->pmask << TARGET0_ENABLE_shift));
+cb_color_control = R600_ROP[cb_conf->rop] |
+	(cb_conf->blend_enable << TARGET_BLEND_ENABLE_shift);
+if (info->ChipFamily == CHIP_FAMILY_R600) {
+	/* no per-MRT blend on R600 */
+	EREG(ib, CB_COLOR_CONTROL,cb_color_control);
+	EREG(ib, CB_BLEND_CONTROL,cb_conf->blendcntl);
+} else {
+	if (cb_conf->blend_enable)
+	cb_color_control |= PER_MRT_BLEND_bit;
+	EREG(ib, CB_COLOR_CONTROL,cb_color_control);
+	EREG(ib, CB_BLEND0_CONTROL,   cb_conf->blendcntl);
+}
+END_BATCH();
 }
 
 static void
@@ -385,6 +419,21 @@
 }
 
 void
+r600_set_spi(ScrnInfoPtr pScrn, drmBufPtr ib, int vs_export_count, int num_interp)
+{
+RADEONInfoPtr info = RADEONPTR(pScrn);
+
+BEGIN_BATCH(8);
+/* Interpolator setup */
+EREG(ib, SPI_VS_OUT_CONFIG, (vs_export_count << VS_EXPORT_COUNT_shift));
+PACK0(ib, SPI_PS_IN_CONTROL_0, 3);
+E32(ib, (num_interp << NUM_INTERP_shift));
+E32(ib, 0);
+E32(ib, 0);
+END_BATCH();
+}
+
+void
 r600_fs_setup(ScrnInfoPtr pScrn, drmBufPtr ib, shader_config_t *fs_conf, uint32_t domain)
 {
 RADEONInfoPtr info = RADEONPTR(pScrn);
@@ -1002,7 +1051,7 @@
 for (i = 0; i < PA_SC_VPORT_SCISSOR_0_TL_num; i++)
 	r600_set_vport_scissor(pScrn, ib, i, 0, 0, 8192, 8192);
 
-BEGIN_BATCH(42);
+BEGIN_BATCH(49);
 PACK0(ib, PA_SC_MPASS_PS_CNTL, 2);
 E32(ib, 0);
 if (info->ChipFamily < CHIP_FAMILY_RV770)
@@ -1046,6 +1095,19 @@
 else
 	EREG(ib, R7xx_SPI_THREAD_GROUPING,(1 << PS_GROUPING_shift));
 
+/* default Interpolator setup */
+EREG(ib, SPI_VS_OUT_ID_0, ((0 << SEMANTIC_0_shift) |
+			   (1 << SEMANTIC_1_shift)));
+PACK0(ib, SPI_PS_INPUT_CNTL_0 + (0 << 2), 2);
+/* SPI_PS_INPUT_CNTL_0 maps to GPR[0] - load with semantic id 0 */
+E32(ib, ((0<< SEMANTIC_shift)	|
+	 (0x01 << DEFAULT_VAL_shift)	|
+	 SEL_CENTROID_bit));
+/* SPI_PS_INPUT_CNTL_1 maps to GPR[1] - load with semantic id 1 */
+E32(ib, ((1<< SEMANTIC_shift)	|
+	 (0x01 << DEFAULT_VAL_shift)	|
+	 SEL_CENTROID_bit));
+
 PACK0(ib, SPI_INPUT_Z, 4);
 E32(ib, 0); // SPI_INPUT_Z
 E32(ib, 0); // SPI_FOG_CNTL
@@ -1122,7 +1184,11 @@
 BEGIN_BATCH(8 + count);
 EREG(ib, VGT_PRIMITIVE_TYPE, draw_conf->prim_type);
 PACK3(ib, IT_INDEX_TYPE, 1);
+#if X_BYTE_ORDER == X_BIG_ENDIAN
+E32(ib, IT_INDEX_TYPE_SWAP_MODE(ENDIAN_8IN32) | draw_conf->index_type);
+#else
 E32(ib, draw_conf->index_type);
+#endif
 PACK3(ib, IT_NUM_INSTANCES, 1);
 E32(ib, draw_conf->num_instances);
 
@@ -1152,7 +1218,11 @@
 BEGIN_BATCH(10);
 EREG(ib, VGT_PRIMITIVE_TYPE, draw_conf->prim_type);
 PACK3(ib, IT_INDEX_TYPE, 

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2010-11-20 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Sat Nov 20 10:02:15 UTC 2010

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: r6xx_accel.c radeon_cursor.c
radeon_exa_funcs.c
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios: CD_Operations.c
Removed Files:
xsrc/external/mit/xf86-video-ati/dist/src: local_xf86Rename.h
xsrc/external/mit/xf86-video-ati/dist/src/modes: xf86Crtc.c xf86Crtc.h
xf86Cursors.c xf86DiDGA.c xf86EdidModes.c xf86Modes.c xf86Modes.h
xf86RandR12.c xf86RandR12.h xf86Rename.h xf86Rotate.c xf86cvt.c
xsrc/external/mit/xf86-video-ati/dist/src/parser: xf86Optrec.h
xf86Parser.h

Log Message:
merge xf86-video-ati 6.12.2.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r0 \
xsrc/external/mit/xf86-video-ati/dist/src/local_xf86Rename.h
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c
cvs rdiff -u -r1.4 -r1.5 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c
cvs rdiff -u -r1.1.1.5 -r0 \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86Crtc.c \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86Cursors.c \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86EdidModes.c \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86Modes.c \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86RandR12.c \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86Rotate.c
cvs rdiff -u -r1.1.1.4 -r0 \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86Crtc.h \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86Modes.h
cvs rdiff -u -r1.1.1.3 -r0 \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86DiDGA.c \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86RandR12.h
cvs rdiff -u -r1.1.1.2 -r0 \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86Rename.h \
xsrc/external/mit/xf86-video-ati/dist/src/modes/xf86cvt.c
cvs rdiff -u -r1.1.1.3 -r0 \
xsrc/external/mit/xf86-video-ati/dist/src/parser/xf86Optrec.h
cvs rdiff -u -r1.1.1.4 -r0 \
xsrc/external/mit/xf86-video-ati/dist/src/parser/xf86Parser.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c:1.2 xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c:1.3
--- xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c:1.2	Sat Jul 17 07:55:34 2010
+++ xsrc/external/mit/xf86-video-ati/dist/src/r6xx_accel.c	Sat Nov 20 10:02:14 2010
@@ -39,6 +39,7 @@
 
 #include "radeon_drm.h"
 #include "radeon_vbo.h"
+#include "radeon_exa_shared.h"
 
 /* we try and batch operations together under KMS -
but it doesn't work yet without misrendering */
@@ -85,34 +86,9 @@
 void R600IBDiscard(ScrnInfoPtr pScrn, drmBufPtr ib)
 {
 #if defined(XF86DRM_MODE)
-int ret;
 RADEONInfoPtr info = RADEONPTR(pScrn);
 if (info->cs) {
-	if (info->accel_state->ib_reset_op) {
-	/* if we have data just reset the CS and ignore the operation */
-	info->cs->cdw = info->accel_state->ib_reset_op;
-	info->accel_state->ib_reset_op = 0;
-	return;
-	}
-	if (info->accel_state->vb_ptr) {
-	info->accel_state->vb_ptr = NULL;
-	}
-
-	info->accel_state->vb_offset = 0;
-	info->accel_state->vb_start_op = -1;
-
-	if (CS_FULL(info->cs)) {
-	radeon_cs_flush_indirect(pScrn);
-	return;
-	}
-	radeon_cs_erase(info->cs);
-	ret = radeon_cs_space_check(info->cs);
-	if (ret)
-	ErrorF("space check failed in flush\n");
-	if (info->dri2.enabled) {
-		info->accel_state->XInited3D = FALSE;
-		info->accel_state->engineMode = EXA_ENGINEMODE_UNKNOWN;
-	}
+radeon_ib_discard(pScrn);
 }
 #endif
 if (!ib) return;
@@ -282,19 +258,24 @@
 EREG(ib, (CB_COLOR0_FRAG + (4 * cb_conf->id)), (0 >> 8));	// FMASK per-tile data base/256
 RELOC_BATCH(cb_conf->bo, 0, domain);
 END_BATCH();
-BEGIN_BATCH(12);
+BEGIN_BATCH(9);
 // pitch only for ARRAY_LINEAR_GENERAL, other tiling modes require addrlib
 EREG(ib, (CB_COLOR0_SIZE + (4 * cb_conf->id)), ((pitch << PITCH_TILE_MAX_shift)	|
 		(slice << SLICE_TILE_MAX_shift)));
 EREG(ib, (CB_COLOR0_VIEW + (4 * cb_conf->id)), ((0<< SLICE_START_shift)		|
 		(0<< SLICE_MAX_shift)));
-EREG(ib, (CB_COLOR0_INFO + (4 * cb_conf->id)), cb_color_info);
 EREG(ib, (CB_COLOR0_MASK + (4 * cb_conf->id)), ((0<< CMASK_BLOCK_MAX_shift)	|
 		(0<< FMASK_TILE_MAX_shift)));
 END_BATCH();
+
+BEGIN_BATCH(3 + 2);
+EREG(ib, (CB_COLOR0_INFO + (4 * cb_conf->id)), cb_color_info);
+RELOC_BATCH(cb_conf->bo, 0, domain);
+END_BATCH();
+
 }
 
-void
+static void
 cp_set_surface_sync(ScrnInfoPtr pScrn, drmB

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios

2010-08-09 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Tue Aug 10 02:57:44 UTC 2010

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios: CD_Operations.c

Log Message:
pull across a patch from git 11005146d6defa876a988daad587ae558f04ecbb:

From: Alex Deucher 
Date: Tue, 10 Aug 2010 02:18:53 +
Subject: atom: upstream parser update

fixes digital output problems on evergreen asics


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.1.1.3 xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c:1.1.1.3	Sun May 23 06:09:26 2010
+++ xsrc/external/mit/xf86-video-ati/dist/src/AtomBios/CD_Operations.c	Tue Aug 10 02:57:44 2010
@@ -505,13 +505,16 @@
 
 VOID ProcessMask(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
+UINT8 src;
 
 pParserTempData->DestData32=GetDestination[pParserTempData->ParametersType.Destination](pParserTempData);
+src = pParserTempData->CD_Mask.SrcAlignment;
 pParserTempData->SourceData32=GetParametersDirect(pParserTempData);
 pParserTempData->Index=GetSource[pParserTempData->ParametersType.Source](pParserTempData);
 pParserTempData->SourceData32 <<= DestinationAlignmentShift[pParserTempData->CD_Mask.DestAlignment];
 pParserTempData->SourceData32 |= ~(AlignmentMask[pParserTempData->CD_Mask.SrcAlignment] << DestinationAlignmentShift[pParserTempData->CD_Mask.DestAlignment]);
 pParserTempData->DestData32   &= pParserTempData->SourceData32;
+pParserTempData->Index>>= SourceAlignmentShift[src];
 pParserTempData->Index&= AlignmentMask[pParserTempData->CD_Mask.SrcAlignment];
 pParserTempData->Index<<= DestinationAlignmentShift[pParserTempData->CD_Mask.DestAlignment];
 pParserTempData->DestData32   |= pParserTempData->Index;



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2010-07-16 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Sat Jul 17 06:34:14 UTC 2010

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: legacy_crtc.c
radeon_cursor.c radeon_dri.c radeon_driver.c radeon_exa_funcs.c

Log Message:
merge xf86-video-ati 6.13.1


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c
cvs rdiff -u -r1.6 -r1.7 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c
cvs rdiff -u -r1.5 -r1.6 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c:1.3 xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c:1.4
--- xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c:1.3	Sun May 23 06:10:16 2010
+++ xsrc/external/mit/xf86-video-ati/dist/src/legacy_crtc.c	Sat Jul 17 06:34:13 2010
@@ -1185,10 +1185,12 @@
 
 /* Define PLL registers for requested video mode */
 static void
-RADEONInitPLLRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save,
+RADEONInitPLLRegisters(xf86CrtcPtr crtc, RADEONSavePtr save,
 		   RADEONPLLPtr pll, DisplayModePtr mode,
 		   int flags)
 {
+RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private;
+ScrnInfoPtr pScrn = crtc->scrn;
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 uint32_t feedback_div = 0;
 uint32_t frac_fb_div = 0;
@@ -1224,7 +1226,13 @@
return;
 }
 
-RADEONComputePLL(pScrn, pll, mode->Clock, &freq, &feedback_div, &frac_fb_div, &reference_div, &post_divider, flags);
+if (xf86ReturnOptValBool(info->Options, OPTION_NEW_PLL, FALSE))
+	radeon_crtc->pll_algo = RADEON_PLL_NEW;
+else
+	radeon_crtc->pll_algo = RADEON_PLL_OLD;
+
+RADEONComputePLL(crtc, pll, mode->Clock, &freq,
+		 &feedback_div, &frac_fb_div, &reference_div, &post_divider, flags);
 
 for (post_div = &post_divs[0]; post_div->divider; ++post_div) {
 	if (post_div->divider == post_divider)
@@ -1268,10 +1276,12 @@
 
 /* Define PLL2 registers for requested video mode */
 static void
-RADEONInitPLL2Registers(ScrnInfoPtr pScrn, RADEONSavePtr save,
+RADEONInitPLL2Registers(xf86CrtcPtr crtc, RADEONSavePtr save,
 			RADEONPLLPtr pll, DisplayModePtr mode,
 			int flags)
 {
+RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private;
+ScrnInfoPtr pScrn = crtc->scrn;
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 uint32_t feedback_div = 0;
 uint32_t frac_fb_div = 0;
@@ -1305,7 +1315,13 @@
return;
 }
 
-RADEONComputePLL(pScrn, pll, mode->Clock, &freq, &feedback_div, &frac_fb_div, &reference_div, &post_divider, flags);
+if (xf86ReturnOptValBool(info->Options, OPTION_NEW_PLL, FALSE))
+	radeon_crtc->pll_algo = RADEON_PLL_NEW;
+else
+	radeon_crtc->pll_algo = RADEON_PLL_OLD;
+
+RADEONComputePLL(crtc, pll, mode->Clock, &freq,
+		 &feedback_div, &frac_fb_div, &reference_div, &post_divider, flags);
 
 for (post_div = &post_divs[0]; post_div->divider; ++post_div) {
 	if (post_div->divider == post_divider)
@@ -1797,7 +1813,7 @@
 	dot_clock = adjusted_mode->Clock / 1000.0;
 	if (dot_clock) {
 	ErrorF("init pll1\n");
-	RADEONInitPLLRegisters(pScrn, info->ModeReg, &info->pll, adjusted_mode, pll_flags);
+	RADEONInitPLLRegisters(crtc, info->ModeReg, &info->pll, adjusted_mode, pll_flags);
 	} else {
 	info->ModeReg->ppll_ref_div = info->SavedReg->ppll_ref_div;
 	info->ModeReg->ppll_div_3   = info->SavedReg->ppll_div_3;
@@ -1811,7 +1827,7 @@
 	dot_clock = adjusted_mode->Clock / 1000.0;
 	if (dot_clock) {
 	ErrorF("init pll2\n");
-	RADEONInitPLL2Registers(pScrn, info->ModeReg, &info->pll, adjusted_mode, pll_flags);
+	RADEONInitPLL2Registers(crtc, info->ModeReg, &info->pll, adjusted_mode, pll_flags);
 	}
 	break;
 }
Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c:1.3 xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c:1.4
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c:1.3	Sun May 23 06:10:16 2010
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c	Sat Jul 17 06:34:13 2010
@@ -343,7 +343,7 @@
 ScrnInfoPtr pScrn = crtc->scrn;
 RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private;
 RADEONInfoPtr info = RADEONPTR(pScrn);
-uint32_t *pixels = (uint32_t *)(pointer)(info->FB + radeon_crtc->cursor_offset);
+uint32_t *pixels = (uint32_t *)(pointer)(info->FB + pScrn->fbOffset + radeon_crtc->cursor_offset);
 intpixel, i;
 CURSOR_SWAPPING_DECL_MMIO
 
@@ -386,7 +386,7 @@
 RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private;
 RADEONInfo

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2009-11-08 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Mon Nov  9 00:54:21 UTC 2009

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_dri.c radeon_driver.c

Log Message:
merge xf86-video-ati 6.12.4


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c
cvs rdiff -u -r1.3 -r1.4 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.4 xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.5
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.4	Wed Jun 10 09:21:30 2009
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c	Mon Nov  9 00:54:21 2009
@@ -747,6 +747,8 @@
 { PCI_VENDOR_INTEL,0x2570,  PCI_VENDOR_ATI,0x4a4e,  PCI_VENDOR_DELL,0x5106,  4 },
 /* Intel 82865G/PE/P DRAM Controller/Host-Hub / RV280 [Radeon 9200 SE] Needs AGPMode 4 (lp #300304) */
 { PCI_VENDOR_INTEL,0x2570,  PCI_VENDOR_ATI,0x5964,  0x148c,0x2073,   4 },
+/* Intel 82855PM host bridge / Mobility M7 LW Needs AGPMode 4 (lp: #353996) */
+{ PCI_VENDOR_INTEL,0x3340,  PCI_VENDOR_ATI,0x4c57, PCI_VENDOR_IBM,0x0530,4 },
 /* Intel 82855PM Processor to I/O Controller / Mobility M6 LY Needs AGPMode 1 (deb #467235) */
 { PCI_VENDOR_INTEL,0x3340,  PCI_VENDOR_ATI,0x4c59,  PCI_VENDOR_IBM,0x052f,   1 },
 /* Intel 82855PM host bridge / Mobility 9600 M10 RV350 Needs AGPMode 1 (lp #195051) */
@@ -769,6 +771,16 @@
 { PCI_VENDOR_INTEL,0x3580,  PCI_VENDOR_ATI,0x4e50,  PCI_VENDOR_ASUS,0x1942,  1 },
 /* Intel 82852/82855 host bridge / Mobility 9600/9700 Needs AGPMode 1 (deb #510208) */
 { PCI_VENDOR_INTEL,0x3580,  PCI_VENDOR_ATI,0x4e50,  0x10cf,0x127f,   1 },
+/* Intel 82443BX/ZX/DX Host bridge / RV280 [Radeon 9200] Needs AGPMode 1 (lp #370205) */
+{ PCI_VENDOR_INTEL,0x7190,  PCI_VENDOR_ATI,0x5961,  0x174b,0x7c13,   1 },
+
+/* Ali Corp M1671 Super P4 Northbridge / Mobility M6 LY Needs AGPMode 1 (lp #146303)*/
+{ 0x10b9,0x1671,   PCI_VENDOR_ATI,0x4c59,   0x103c,0x0027,   1 },
+
+/* SiS Host Bridge 655 / R420 [Radeon X800] Needs AGPMode 4 (lp #371296) */
+{ 0x1039,0x0655,PCI_VENDOR_ATI,0x4a4b,  PCI_VENDOR_ATI,0x4422,   4 },
+/* SiS Host Bridge / RV280 Needs AGPMode 4 */
+{ 0x1039,0x0741,PCI_VENDOR_ATI,0x5964,  0x148c,0x2073,   4 },
 
 /* ASRock K7VT4A+ AGP 8x / ATI Radeon 9250 AGP Needs AGPMode 4 (lp #133192) */
 { 0x1849,0x3189,PCI_VENDOR_ATI,0x5960,  0x1787,0x5960,   4 },
@@ -789,6 +801,10 @@
 { PCI_VENDOR_VIA,0x3189,PCI_VENDOR_ATI,0x5960,  0x1462,0x0380,   4 },
 /* VIA VT8377 Host Bridge / RV280 Needs AGPMode 4 (ati ML) */
 { PCI_VENDOR_VIA,0x3189,PCI_VENDOR_ATI,0x5964,  0x148c,0x2073,   4 },
+/* VIA VT8377 Host Bridge / RV280 Needs AGPMode 4 (fdo #12544) */
+{ PCI_VENDOR_VIA,0x3189,PCI_VENDOR_ATI,0x5964,  PCI_VENDOR_ASUS,0xc008,  4 },
+/* VIA VT8377 Host Bridge / RV280 Needs AGPMode 4 (deb #545040) */
+{ PCI_VENDOR_VIA,0x3189,PCI_VENDOR_ATI,0x5960,  PCI_VENDOR_ASUS,0x004c,  4 },
 
 /* ATI Host Bridge / RV280 [M9+] Needs AGPMode 1 (phoronix forum) */
 { PCI_VENDOR_ATI,0xcbb2,PCI_VENDOR_ATI,0x5c61,  PCI_VENDOR_SONY,0x8175,  1 },
@@ -796,6 +812,9 @@
 /* HP Host Bridge / R300 [FireGL X1] Needs AGPMode 2 (fdo #7770) */
 { PCI_VENDOR_HP,0x122e,PCI_VENDOR_ATI,0x4e47,  PCI_VENDOR_ATI,0x0152,2 },
 
+/* nVidia Host Bridge / R420 [X800 Pro] Needs AGPMode 4 (fdo #22726) */
+{ 0x10de,0x00e1,   PCI_VENDOR_ATI,0x4a49,  PCI_VENDOR_ATI,0x0002,4 },
+
 { 0, 0, 0, 0, 0, 0, 0 },
 };
 
@@ -1373,7 +1392,7 @@
 if (!xf86LoaderCheckSymbol("drmAvailable"))return FALSE;
 if (!xf86LoaderCheckSymbol("DRIQueryVersion")) {
   xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-		 "[dri] RADEONDRIGetVersion failed (libdri.a too old)\n"
+		 "[dri] RADEONDRIGetVersion failed (libdri too old)\n"
 		 "[dri] Disabling DRI.\n");
   return FALSE;
 }
@@ -1397,7 +1416,7 @@
 	info->dri->pLibDRMVersion = drmGetLibVersion(info->dri->drmFD);
 if (info->dri->pLibDRMVersion == NULL) {
 	xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-		   "[dri] RADEONDRIGetVersion failed because libDRM is really "
+		   "[dri] RADEONDRIGetVersion failed because libdrm is really "
 		   "way to old to even get a version number out of it.\n"
 		   "[dri] Disabling DRI.\n");
 	return FALSE;
@@ -1408,7 +1427,7 @@
 	xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 		   "[dri] RADEONDRIGetVersion failed because of a "
 		   "version mismatch.\n"
-		   "[dri] libdrm.a module version is %d.%d.%d but "
+		   "[dri] libdrm module version is %d.%d.%d but "
 		   "version 1.2.x is n

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2009-06-11 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Fri Jun 12 05:05:48 UTC 2009

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_exa_funcs.c

Log Message:
pkgsrc patch-ab:

Fix coordinate limits off-by-one error causing hardware freezes:
http://bugs.freedesktop.org/show_bug.cgi?id=21598


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c:1.1.1.2 xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c:1.1.1.2	Wed Jun 10 09:00:45 2009
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_exa_funcs.c	Fri Jun 12 05:05:48 2009
@@ -532,11 +532,11 @@
 xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting EXA maxPitchBytes\n");
 
 info->accel_state->exa->maxPitchBytes = 16320;
-info->accel_state->exa->maxX = 8192;
+info->accel_state->exa->maxX = 8191;
 #else
 info->accel_state->exa->maxX = 16320 / 4;
 #endif
-info->accel_state->exa->maxY = 8192;
+info->accel_state->exa->maxY = 8191;
 
 if (xf86ReturnOptValBool(info->Options, OPTION_EXA_VSYNC, FALSE)) {
 	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "EXA VSync enabled\n");



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2009-06-11 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Fri Jun 12 05:05:28 UTC 2009

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_cursor.c

Log Message:
pkgsrc patch-aa:

Accumulated cursor fixes from 6.12 branch. Should fix cursor corruption
issues:

http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?h=6.12-branch&id=0ea75453
http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?h=6.12-branch&id=f2aaa708
http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?h=6.12-branch&id=998fd244
http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?h=6.12-branch&id=666b0ff9
http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?h=6.12-branch&id=fbb04716
http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?h=6.12-branch&id=cb8081a8
http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?h=6.12-branch&id=b6cd47ec
http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?h=6.12-branch&id=f2c0fa5e


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c:1.1.1.2 xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c:1.1.1.2	Wed Jun 10 09:00:45 2009
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_cursor.c	Fri Jun 12 05:05:28 2009
@@ -73,14 +73,17 @@
 #define CURSOR_SWAPPING_DECL_MMIO   unsigned char *RADEONMMIO = info->MMIO;
 #define CURSOR_SWAPPING_START() \
   do { \
+  if (info->ChipFamily < CHIP_FAMILY_R600) \
 OUTREG(RADEON_SURFACE_CNTL, \
 	   (info->ModeReg->surface_cntl | \
 	 RADEON_NONSURF_AP0_SWP_32BPP | RADEON_NONSURF_AP1_SWP_32BPP) & \
 	   ~(RADEON_NONSURF_AP0_SWP_16BPP | RADEON_NONSURF_AP1_SWP_16BPP)); \
   } while (0)
-#define CURSOR_SWAPPING_END()	(OUTREG(RADEON_SURFACE_CNTL, \
-	info->ModeReg->surface_cntl))
-
+#define CURSOR_SWAPPING_END()	\
+  do { \
+  if (info->ChipFamily < CHIP_FAMILY_R600) \
+  OUTREG(RADEON_SURFACE_CNTL, info->ModeReg->surface_cntl); \
+  } while (0)
 #else
 
 #define CURSOR_SWAPPING_DECL_MMIO
@@ -97,13 +100,14 @@
 RADEONInfoPtr  info = RADEONPTR(crtc->scrn);
 unsigned char *RADEONMMIO = info->MMIO;
 
-OUTREG(AVIVO_D1CUR_CONTROL + radeon_crtc->crtc_offset, 0);
+/* always use the same cursor mode even if the cursor is disabled,
+ * otherwise you may end up with cursor curruption bands
+ */
+OUTREG(AVIVO_D1CUR_CONTROL + radeon_crtc->crtc_offset, (AVIVO_D1CURSOR_MODE_24BPP << AVIVO_D1CURSOR_MODE_SHIFT));
 
 if (enable) {
 	OUTREG(AVIVO_D1CUR_SURFACE_ADDRESS + radeon_crtc->crtc_offset,
 	   info->fbLocation + radeon_crtc->cursor_offset + pScrn->fbOffset);
-	OUTREG(AVIVO_D1CUR_SIZE + radeon_crtc->crtc_offset,
-	   ((CURSOR_WIDTH - 1) << 16) | (CURSOR_HEIGHT - 1));
 	OUTREG(AVIVO_D1CUR_CONTROL + radeon_crtc->crtc_offset,
 	   AVIVO_D1CURSOR_EN | (AVIVO_D1CURSOR_MODE_24BPP << AVIVO_D1CURSOR_MODE_SHIFT));
 }
@@ -138,9 +142,6 @@
 
 if (IS_AVIVO_VARIANT) {
 	avivo_lock_cursor(crtc, TRUE);
-	OUTREG(AVIVO_D1CUR_CONTROL + radeon_crtc->crtc_offset,
-	   INREG(AVIVO_D1CUR_CONTROL + radeon_crtc->crtc_offset)
-	   | AVIVO_D1CURSOR_EN);
 	avivo_setup_cursor(crtc, TRUE);
 	avivo_lock_cursor(crtc, FALSE);
 } else {
@@ -171,9 +172,6 @@
 
 if (IS_AVIVO_VARIANT) {
 	avivo_lock_cursor(crtc, TRUE);
-	OUTREG(AVIVO_D1CUR_CONTROL+ radeon_crtc->crtc_offset,
-	   INREG(AVIVO_D1CUR_CONTROL + radeon_crtc->crtc_offset)
-	   & ~(AVIVO_D1CURSOR_EN));
 	avivo_setup_cursor(crtc, FALSE);
 	avivo_lock_cursor(crtc, FALSE);
 } else {
@@ -196,6 +194,7 @@
 radeon_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y)
 {
 ScrnInfoPtr pScrn = crtc->scrn;
+RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
 RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private;
 int crtc_id = radeon_crtc->crtc_id;
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
@@ -210,15 +209,38 @@
 if (yorigin >= CURSOR_HEIGHT) yorigin = CURSOR_HEIGHT - 1;
 
 if (IS_AVIVO_VARIANT) {
+	int w = CURSOR_WIDTH;
+
 	/* avivo cursor spans the full fb width */
 	if (crtc->rotatedData == NULL) {
 	x += crtc->x;
 	y += crtc->y;
 	}
+
+	if (pRADEONEnt->Controller[0]->enabled &&
+	pRADEONEnt->Controller[1]->enabled) {
+	int cursor_end, frame_end;
+
+	cursor_end = x - xorigin + w;
+	frame_end = crtc->x + mode->CrtcHDisplay;
+
+	if (cursor_end >= frame_end) {
+		w = w - (cursor_end - frame_end);
+		if (!(frame_end & 0x7f))
+		w--;
+	} else {
+		if (!(cursor_end & 0x7f))
+		w--;
+	}
+	if (w <= 0)
+		w = 1;
+	}
+
 	avivo_lock_cursor(crtc, TRUE);
 	OUTREG(AVIVO_D1CUR_POSITION + radeon_crtc->crtc_offs

CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2009-06-10 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Wed Jun 10 09:21:30 UTC 2009

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_dri.c

Log Message:
fix merge errors


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.3 xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.4
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.3	Wed Jun 10 09:07:50 2009
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c	Wed Jun 10 09:21:30 2009
@@ -1084,7 +1084,7 @@
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
 	   "[pci] %d kB allocated with handle 0x%08lx\n",
-	   info->gartSize*1024, info->pciMemHandle);
+	   info->dri->gartSize*1024, info->dri->pciMemHandle);
 
 RADEONDRIInitGARTValues(info);
 
@@ -1097,7 +1097,7 @@
 xf86DrvMsg(pScreen->myNum, X_INFO,
 	   "[pci] ring handle = 0x%08lx, size = 0x%08lx\n", info->dri->ringHandle, info->dri->ringMapSize);
 
-if ((ret = drmMap(info->drmFD, info->dri->ringHandle, info->dri->ringMapSize,
+if ((ret = drmMap(info->dri->drmFD, info->dri->ringHandle, info->dri->ringMapSize,
 	   &info->dri->ring)) < 0) {
 	xf86DrvMsg(pScreen->myNum, X_ERROR, "[pci] Could not map ring: ret %d\n", ret);
 	return FALSE;
@@ -1117,7 +1117,7 @@
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
  	   "[pci] ring read ptr handle = 0x%08lx\n",
-	   info->ringReadPtrHandle);
+	   info->dri->ringReadPtrHandle);
 
 if (drmMap(info->dri->drmFD, info->dri->ringReadPtrHandle, info->dri->ringReadMapSize,
 	   &info->dri->ringReadPtr) < 0) {
@@ -1140,7 +1140,7 @@
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
  	   "[pci] vertex/indirect buffers handle = 0x%08lx\n",
-	   info->bufHandle);
+	   info->dri->bufHandle);
 
 if (drmMap(info->dri->drmFD, info->dri->bufHandle, info->dri->bufMapSize,
 	   &info->dri->buf) < 0) {



CVS commit: xsrc/external/mit/xf86-video-ati/dist/src

2009-03-29 Thread matthew green
Module Name:xsrc
Committed By:   mrg
Date:   Sun Mar 29 16:56:31 UTC 2009

Modified Files:
xsrc/external/mit/xf86-video-ati/dist/src: radeon_dri.c radeon_driver.c

Log Message:
use %lx instead of %x for a few varaiables that may be 64 bit.

also match plain old PCI cards.  with this, an older PCI radeo 9250
now works with drm.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c \
xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.1.1.1 xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c:1.1.1.1	Sat Aug  2 05:10:33 2008
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_dri.c	Sun Mar 29 16:56:31 2009
@@ -40,6 +40,8 @@
 
 #include 
 #include 
+#include 
+#include 
 
 /* Driver data structures */
 #include "radeon.h"
@@ -973,7 +975,7 @@
 	return FALSE;
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
-	   "[pci] %d kB allocated with handle 0x%08x\n",
+	   "[pci] %d kB allocated with handle 0x%08lx\n",
 	   info->gartSize*1024, info->pciMemHandle);
 
 RADEONDRIInitGARTValues(info);
@@ -985,11 +987,11 @@
 	return FALSE;
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
-	   "[pci] ring handle = 0x%08x\n", info->ringHandle);
+	   "[pci] ring handle = 0x%08lx, size = 0x%08lx\n", info->ringHandle, info->ringMapSize);
 
-if (drmMap(info->drmFD, info->ringHandle, info->ringMapSize,
-	   &info->ring) < 0) {
-	xf86DrvMsg(pScreen->myNum, X_ERROR, "[pci] Could not map ring\n");
+if ((ret = drmMap(info->drmFD, info->ringHandle, info->ringMapSize,
+	   &info->ring)) < 0) {
+	xf86DrvMsg(pScreen->myNum, X_ERROR, "[pci] Could not map ring: ret %d\n", ret);
 	return FALSE;
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
@@ -1006,7 +1008,7 @@
 	return FALSE;
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
- 	   "[pci] ring read ptr handle = 0x%08x\n",
+ 	   "[pci] ring read ptr handle = 0x%08lx\n",
 	   info->ringReadPtrHandle);
 
 if (drmMap(info->drmFD, info->ringReadPtrHandle, info->ringReadMapSize,
@@ -1029,7 +1031,7 @@
 	return FALSE;
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
- 	   "[pci] vertex/indirect buffers handle = 0x%08x\n",
+ 	   "[pci] vertex/indirect buffers handle = 0x%08lx\n",
 	   info->bufHandle);
 
 if (drmMap(info->drmFD, info->bufHandle, info->bufMapSize,
@@ -1052,7 +1054,7 @@
 	return FALSE;
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
- 	   "[pci] GART texture map handle = 0x%08x\n",
+ 	   "[pci] GART texture map handle = 0x%08lx\n",
 	   info->gartTexHandle);
 
 if (drmMap(info->drmFD, info->gartTexHandle, info->gartTexMapSize,
@@ -1080,7 +1082,7 @@
 	return FALSE;
 }
 xf86DrvMsg(pScreen->myNum, X_INFO,
-	   "[drm] register handle = 0x%08x\n", info->registerHandle);
+	   "[drm] register handle = 0x%08lx\n", info->registerHandle);
 
 return TRUE;
 }
Index: xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c
diff -u xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c:1.1.1.1 xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c:1.2
--- xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c:1.1.1.1	Sat Aug  2 05:10:41 2008
+++ xsrc/external/mit/xf86-video-ati/dist/src/radeon_driver.c	Sun Mar 29 16:56:31 2009
@@ -3494,7 +3494,8 @@
 
 /* DRI finalisation */
 #ifdef XF86DRI
-if (info->directRenderingEnabled && info->cardType==CARD_PCIE &&
+if (info->directRenderingEnabled &&
+	(info->cardType==CARD_PCIE || info->cardType==CARD_PCI) &&
 info->pKernelDRMVersion->version_minor >= 19)
 {
   if (RADEONDRISetParam(pScrn, RADEON_SETPARAM_PCIGART_LOCATION, info->pciGartOffset) < 0)