[PATCH] drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx

2010-06-12 Thread Alex Deucher
From: Roland Scheidegger 

fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28459

agd5f: apply to r1xx/r2xx as well.

Signed-off-by: Roland Scheidegger 
Signed-off-by: Alex Deucher 
Cc: stable 
---
 drivers/gpu/drm/radeon/r100.c |3 +++
 drivers/gpu/drm/radeon/r200.c |3 +++
 drivers/gpu/drm/radeon/r300.c |5 +
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
index cf89aa2..d66ae7d 100644
--- a/drivers/gpu/drm/radeon/r100.c
+++ b/drivers/gpu/drm/radeon/r100.c
@@ -1628,6 +1628,7 @@ static int r100_packet0_check(struct radeon_cs_parser *p,
case RADEON_TXFORMAT_RGB332:
case RADEON_TXFORMAT_Y8:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_AI88:
case RADEON_TXFORMAT_ARGB1555:
@@ -1639,12 +1640,14 @@ static int r100_packet0_check(struct radeon_cs_parser 
*p,
case RADEON_TXFORMAT_LDUDV655:
case RADEON_TXFORMAT_DUDV88:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_ARGB:
case RADEON_TXFORMAT_RGBA:
case RADEON_TXFORMAT_SHADOW32:
case RADEON_TXFORMAT_LDUDUV:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_DXT1:
track->textures[i].cpp = 1;
diff --git a/drivers/gpu/drm/radeon/r200.c b/drivers/gpu/drm/radeon/r200.c
index 85617c3..a03f893 100644
--- a/drivers/gpu/drm/radeon/r200.c
+++ b/drivers/gpu/drm/radeon/r200.c
@@ -450,6 +450,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_RGB332:
case R200_TXFORMAT_Y8:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_AI88:
case R200_TXFORMAT_ARGB1555:
@@ -461,6 +462,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_DVDU88:
case R200_TXFORMAT_AVYU:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_ARGB:
case R200_TXFORMAT_RGBA:
@@ -468,6 +470,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_BGR10:
case R200_TXFORMAT_LDVDU:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_DXT1:
track->textures[i].cpp = 1;
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
index b2f9efe..7e81db5 100644
--- a/drivers/gpu/drm/radeon/r300.c
+++ b/drivers/gpu/drm/radeon/r300.c
@@ -881,6 +881,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_Y4X4:
case R300_TX_FORMAT_Z3Y3X2:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_X16:
case R300_TX_FORMAT_Y8X8:
@@ -892,6 +893,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_B8G8_B8G8:
case R300_TX_FORMAT_G8R8_G8B8:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_Y16X16:
case R300_TX_FORMAT_Z11Y11X10:
@@ -902,14 +904,17 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_FL_I32:
case 0x1e:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_W16Z16Y16X16:
case R300_TX_FORMAT_FL_R16G16B16A16:
case R300_TX_FORMAT_FL_I32A32:
track->textures[i].cpp = 8;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_FL_R32G32B32A32:
track->textures[i].cpp = 16;
+   track->textures

[PATCH] drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx

2010-06-12 Thread Alex Deucher
This should go to stable too.

On Sat, Jun 12, 2010 at 12:12 PM, Alex Deucher  wrote:
> From: Roland Scheidegger 
>
> fixes:
> https://bugs.freedesktop.org/show_bug.cgi?id=28459
>
> agd5f: apply to r1xx/r2xx as well.
>
> Signed-off-by: Roland Scheidegger 
> Signed-off-by: Alex Deucher 
> ---
> ?drivers/gpu/drm/radeon/r100.c | ? ?3 +++
> ?drivers/gpu/drm/radeon/r200.c | ? ?3 +++
> ?drivers/gpu/drm/radeon/r300.c | ? ?5 +
> ?3 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
> index cf89aa2..d66ae7d 100644
> --- a/drivers/gpu/drm/radeon/r100.c
> +++ b/drivers/gpu/drm/radeon/r100.c
> @@ -1628,6 +1628,7 @@ static int r100_packet0_check(struct radeon_cs_parser 
> *p,
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_RGB332:
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_Y8:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 1;
> + ? ? ? ? ? ? ? ? ? ? ? track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
> ? ? ? ? ? ? ? ? ? ? ? ?break;
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_AI88:
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_ARGB1555:
> @@ -1639,12 +1640,14 @@ static int r100_packet0_check(struct radeon_cs_parser 
> *p,
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_LDUDV655:
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_DUDV88:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 2;
> + ? ? ? ? ? ? ? ? ? ? ? track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
> ? ? ? ? ? ? ? ? ? ? ? ?break;
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_ARGB:
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_RGBA:
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_SHADOW32:
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_LDUDUV:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 4;
> + ? ? ? ? ? ? ? ? ? ? ? track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
> ? ? ? ? ? ? ? ? ? ? ? ?break;
> ? ? ? ? ? ? ? ?case RADEON_TXFORMAT_DXT1:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 1;
> diff --git a/drivers/gpu/drm/radeon/r200.c b/drivers/gpu/drm/radeon/r200.c
> index 85617c3..a03f893 100644
> --- a/drivers/gpu/drm/radeon/r200.c
> +++ b/drivers/gpu/drm/radeon/r200.c
> @@ -450,6 +450,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_RGB332:
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_Y8:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 1;
> + ? ? ? ? ? ? ? ? ? ? ? track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
> ? ? ? ? ? ? ? ? ? ? ? ?break;
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_AI88:
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_ARGB1555:
> @@ -461,6 +462,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_DVDU88:
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_AVYU:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 2;
> + ? ? ? ? ? ? ? ? ? ? ? track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
> ? ? ? ? ? ? ? ? ? ? ? ?break;
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_ARGB:
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_RGBA:
> @@ -468,6 +470,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_BGR10:
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_LDVDU:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 4;
> + ? ? ? ? ? ? ? ? ? ? ? track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
> ? ? ? ? ? ? ? ? ? ? ? ?break;
> ? ? ? ? ? ? ? ?case R200_TXFORMAT_DXT1:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 1;
> diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
> index b2f9efe..7e81db5 100644
> --- a/drivers/gpu/drm/radeon/r300.c
> +++ b/drivers/gpu/drm/radeon/r300.c
> @@ -881,6 +881,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_Y4X4:
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_Z3Y3X2:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 1;
> + ? ? ? ? ? ? ? ? ? ? ? track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
> ? ? ? ? ? ? ? ? ? ? ? ?break;
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_X16:
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_Y8X8:
> @@ -892,6 +893,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_B8G8_B8G8:
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_G8R8_G8B8:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 2;
> + ? ? ? ? ? ? ? ? ? ? ? track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
> ? ? ? ? ? ? ? ? ? ? ? ?break;
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_Y16X16:
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_Z11Y11X10:
> @@ -902,14 +904,17 @@ static int r300_packet0_check(struct radeon_cs_parser 
> *p,
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_FL_I32:
> ? ? ? ? ? ? ? ?case 0x1e:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 4;
> + ? ? ? ? ? ? ? ? ? ? ? track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
> ? ? ? ? ? ? ? ? ? ? ? ?break;
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_W16Z16Y16X16:
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_FL_R16G16B16A16:
> ? ? ? ? ? ? ? ?case R300_TX_FORMAT_FL_I32A32:
> ? ? ? ? ? ? ? ? ? ? ? ?track->textures[i].cpp = 8;
> + ? ? ? ? ? ? ? ? 

[PATCH] drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx

2010-06-12 Thread Alex Deucher
From: Roland Scheidegger 

fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28459

agd5f: apply to r1xx/r2xx as well.

Signed-off-by: Roland Scheidegger 
Signed-off-by: Alex Deucher 
---
 drivers/gpu/drm/radeon/r100.c |3 +++
 drivers/gpu/drm/radeon/r200.c |3 +++
 drivers/gpu/drm/radeon/r300.c |5 +
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
index cf89aa2..d66ae7d 100644
--- a/drivers/gpu/drm/radeon/r100.c
+++ b/drivers/gpu/drm/radeon/r100.c
@@ -1628,6 +1628,7 @@ static int r100_packet0_check(struct radeon_cs_parser *p,
case RADEON_TXFORMAT_RGB332:
case RADEON_TXFORMAT_Y8:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_AI88:
case RADEON_TXFORMAT_ARGB1555:
@@ -1639,12 +1640,14 @@ static int r100_packet0_check(struct radeon_cs_parser 
*p,
case RADEON_TXFORMAT_LDUDV655:
case RADEON_TXFORMAT_DUDV88:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_ARGB:
case RADEON_TXFORMAT_RGBA:
case RADEON_TXFORMAT_SHADOW32:
case RADEON_TXFORMAT_LDUDUV:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_DXT1:
track->textures[i].cpp = 1;
diff --git a/drivers/gpu/drm/radeon/r200.c b/drivers/gpu/drm/radeon/r200.c
index 85617c3..a03f893 100644
--- a/drivers/gpu/drm/radeon/r200.c
+++ b/drivers/gpu/drm/radeon/r200.c
@@ -450,6 +450,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_RGB332:
case R200_TXFORMAT_Y8:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_AI88:
case R200_TXFORMAT_ARGB1555:
@@ -461,6 +462,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_DVDU88:
case R200_TXFORMAT_AVYU:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_ARGB:
case R200_TXFORMAT_RGBA:
@@ -468,6 +470,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_BGR10:
case R200_TXFORMAT_LDVDU:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_DXT1:
track->textures[i].cpp = 1;
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
index b2f9efe..7e81db5 100644
--- a/drivers/gpu/drm/radeon/r300.c
+++ b/drivers/gpu/drm/radeon/r300.c
@@ -881,6 +881,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_Y4X4:
case R300_TX_FORMAT_Z3Y3X2:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_X16:
case R300_TX_FORMAT_Y8X8:
@@ -892,6 +893,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_B8G8_B8G8:
case R300_TX_FORMAT_G8R8_G8B8:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_Y16X16:
case R300_TX_FORMAT_Z11Y11X10:
@@ -902,14 +904,17 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_FL_I32:
case 0x1e:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_W16Z16Y16X16:
case R300_TX_FORMAT_FL_R16G16B16A16:
case R300_TX_FORMAT_FL_I32A32:
track->textures[i].cpp = 8;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_FL_R32G32B32A32:
track->textures[i].cpp = 16;
+   track->textures[i].compress

[PATCH] drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx

2010-06-12 Thread Alex Deucher
From: Roland Scheidegger 

fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28459

agd5f: apply to r1xx/r2xx as well.

Signed-off-by: Roland Scheidegger 
Signed-off-by: Alex Deucher 
Cc: stable 
---
 drivers/gpu/drm/radeon/r100.c |3 +++
 drivers/gpu/drm/radeon/r200.c |3 +++
 drivers/gpu/drm/radeon/r300.c |5 +
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
index cf89aa2..d66ae7d 100644
--- a/drivers/gpu/drm/radeon/r100.c
+++ b/drivers/gpu/drm/radeon/r100.c
@@ -1628,6 +1628,7 @@ static int r100_packet0_check(struct radeon_cs_parser *p,
case RADEON_TXFORMAT_RGB332:
case RADEON_TXFORMAT_Y8:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_AI88:
case RADEON_TXFORMAT_ARGB1555:
@@ -1639,12 +1640,14 @@ static int r100_packet0_check(struct radeon_cs_parser 
*p,
case RADEON_TXFORMAT_LDUDV655:
case RADEON_TXFORMAT_DUDV88:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_ARGB:
case RADEON_TXFORMAT_RGBA:
case RADEON_TXFORMAT_SHADOW32:
case RADEON_TXFORMAT_LDUDUV:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_DXT1:
track->textures[i].cpp = 1;
diff --git a/drivers/gpu/drm/radeon/r200.c b/drivers/gpu/drm/radeon/r200.c
index 85617c3..a03f893 100644
--- a/drivers/gpu/drm/radeon/r200.c
+++ b/drivers/gpu/drm/radeon/r200.c
@@ -450,6 +450,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_RGB332:
case R200_TXFORMAT_Y8:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_AI88:
case R200_TXFORMAT_ARGB1555:
@@ -461,6 +462,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_DVDU88:
case R200_TXFORMAT_AVYU:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_ARGB:
case R200_TXFORMAT_RGBA:
@@ -468,6 +470,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_BGR10:
case R200_TXFORMAT_LDVDU:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_DXT1:
track->textures[i].cpp = 1;
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
index b2f9efe..7e81db5 100644
--- a/drivers/gpu/drm/radeon/r300.c
+++ b/drivers/gpu/drm/radeon/r300.c
@@ -881,6 +881,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_Y4X4:
case R300_TX_FORMAT_Z3Y3X2:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_X16:
case R300_TX_FORMAT_Y8X8:
@@ -892,6 +893,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_B8G8_B8G8:
case R300_TX_FORMAT_G8R8_G8B8:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_Y16X16:
case R300_TX_FORMAT_Z11Y11X10:
@@ -902,14 +904,17 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_FL_I32:
case 0x1e:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_W16Z16Y16X16:
case R300_TX_FORMAT_FL_R16G16B16A16:
case R300_TX_FORMAT_FL_I32A32:
track->textures[i].cpp = 8;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_FL_R32G32B32A32:
track->textures[i].cpp = 16;
+   track->textures

Re: [PATCH] drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx

2010-06-12 Thread Alex Deucher
This should go to stable too.

On Sat, Jun 12, 2010 at 12:12 PM, Alex Deucher  wrote:
> From: Roland Scheidegger 
>
> fixes:
> https://bugs.freedesktop.org/show_bug.cgi?id=28459
>
> agd5f: apply to r1xx/r2xx as well.
>
> Signed-off-by: Roland Scheidegger 
> Signed-off-by: Alex Deucher 
> ---
>  drivers/gpu/drm/radeon/r100.c |    3 +++
>  drivers/gpu/drm/radeon/r200.c |    3 +++
>  drivers/gpu/drm/radeon/r300.c |    5 +
>  3 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
> index cf89aa2..d66ae7d 100644
> --- a/drivers/gpu/drm/radeon/r100.c
> +++ b/drivers/gpu/drm/radeon/r100.c
> @@ -1628,6 +1628,7 @@ static int r100_packet0_check(struct radeon_cs_parser 
> *p,
>                case RADEON_TXFORMAT_RGB332:
>                case RADEON_TXFORMAT_Y8:
>                        track->textures[i].cpp = 1;
> +                       track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
>                        break;
>                case RADEON_TXFORMAT_AI88:
>                case RADEON_TXFORMAT_ARGB1555:
> @@ -1639,12 +1640,14 @@ static int r100_packet0_check(struct radeon_cs_parser 
> *p,
>                case RADEON_TXFORMAT_LDUDV655:
>                case RADEON_TXFORMAT_DUDV88:
>                        track->textures[i].cpp = 2;
> +                       track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
>                        break;
>                case RADEON_TXFORMAT_ARGB:
>                case RADEON_TXFORMAT_RGBA:
>                case RADEON_TXFORMAT_SHADOW32:
>                case RADEON_TXFORMAT_LDUDUV:
>                        track->textures[i].cpp = 4;
> +                       track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
>                        break;
>                case RADEON_TXFORMAT_DXT1:
>                        track->textures[i].cpp = 1;
> diff --git a/drivers/gpu/drm/radeon/r200.c b/drivers/gpu/drm/radeon/r200.c
> index 85617c3..a03f893 100644
> --- a/drivers/gpu/drm/radeon/r200.c
> +++ b/drivers/gpu/drm/radeon/r200.c
> @@ -450,6 +450,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
>                case R200_TXFORMAT_RGB332:
>                case R200_TXFORMAT_Y8:
>                        track->textures[i].cpp = 1;
> +                       track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
>                        break;
>                case R200_TXFORMAT_AI88:
>                case R200_TXFORMAT_ARGB1555:
> @@ -461,6 +462,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
>                case R200_TXFORMAT_DVDU88:
>                case R200_TXFORMAT_AVYU:
>                        track->textures[i].cpp = 2;
> +                       track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
>                        break;
>                case R200_TXFORMAT_ARGB:
>                case R200_TXFORMAT_RGBA:
> @@ -468,6 +470,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
>                case R200_TXFORMAT_BGR10:
>                case R200_TXFORMAT_LDVDU:
>                        track->textures[i].cpp = 4;
> +                       track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
>                        break;
>                case R200_TXFORMAT_DXT1:
>                        track->textures[i].cpp = 1;
> diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
> index b2f9efe..7e81db5 100644
> --- a/drivers/gpu/drm/radeon/r300.c
> +++ b/drivers/gpu/drm/radeon/r300.c
> @@ -881,6 +881,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
>                case R300_TX_FORMAT_Y4X4:
>                case R300_TX_FORMAT_Z3Y3X2:
>                        track->textures[i].cpp = 1;
> +                       track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
>                        break;
>                case R300_TX_FORMAT_X16:
>                case R300_TX_FORMAT_Y8X8:
> @@ -892,6 +893,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
>                case R300_TX_FORMAT_B8G8_B8G8:
>                case R300_TX_FORMAT_G8R8_G8B8:
>                        track->textures[i].cpp = 2;
> +                       track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
>                        break;
>                case R300_TX_FORMAT_Y16X16:
>                case R300_TX_FORMAT_Z11Y11X10:
> @@ -902,14 +904,17 @@ static int r300_packet0_check(struct radeon_cs_parser 
> *p,
>                case R300_TX_FORMAT_FL_I32:
>                case 0x1e:
>                        track->textures[i].cpp = 4;
> +                       track->textures[i].compress_format = 
> R100_TRACK_COMP_NONE;
>                        break;
>                case R300_TX_FORMAT_W16Z16Y16X16:
>                case R300_TX_FORMAT_FL_R16G16B16A16:
>                case R300_TX_FORMAT_FL_I32A32:
>                        track->textures[i].cpp = 8;
> +                 

[PATCH] drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx

2010-06-12 Thread Alex Deucher
From: Roland Scheidegger 

fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28459

agd5f: apply to r1xx/r2xx as well.

Signed-off-by: Roland Scheidegger 
Signed-off-by: Alex Deucher 
---
 drivers/gpu/drm/radeon/r100.c |3 +++
 drivers/gpu/drm/radeon/r200.c |3 +++
 drivers/gpu/drm/radeon/r300.c |5 +
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
index cf89aa2..d66ae7d 100644
--- a/drivers/gpu/drm/radeon/r100.c
+++ b/drivers/gpu/drm/radeon/r100.c
@@ -1628,6 +1628,7 @@ static int r100_packet0_check(struct radeon_cs_parser *p,
case RADEON_TXFORMAT_RGB332:
case RADEON_TXFORMAT_Y8:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_AI88:
case RADEON_TXFORMAT_ARGB1555:
@@ -1639,12 +1640,14 @@ static int r100_packet0_check(struct radeon_cs_parser 
*p,
case RADEON_TXFORMAT_LDUDV655:
case RADEON_TXFORMAT_DUDV88:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_ARGB:
case RADEON_TXFORMAT_RGBA:
case RADEON_TXFORMAT_SHADOW32:
case RADEON_TXFORMAT_LDUDUV:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case RADEON_TXFORMAT_DXT1:
track->textures[i].cpp = 1;
diff --git a/drivers/gpu/drm/radeon/r200.c b/drivers/gpu/drm/radeon/r200.c
index 85617c3..a03f893 100644
--- a/drivers/gpu/drm/radeon/r200.c
+++ b/drivers/gpu/drm/radeon/r200.c
@@ -450,6 +450,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_RGB332:
case R200_TXFORMAT_Y8:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_AI88:
case R200_TXFORMAT_ARGB1555:
@@ -461,6 +462,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_DVDU88:
case R200_TXFORMAT_AVYU:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_ARGB:
case R200_TXFORMAT_RGBA:
@@ -468,6 +470,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_BGR10:
case R200_TXFORMAT_LDVDU:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R200_TXFORMAT_DXT1:
track->textures[i].cpp = 1;
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
index b2f9efe..7e81db5 100644
--- a/drivers/gpu/drm/radeon/r300.c
+++ b/drivers/gpu/drm/radeon/r300.c
@@ -881,6 +881,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_Y4X4:
case R300_TX_FORMAT_Z3Y3X2:
track->textures[i].cpp = 1;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_X16:
case R300_TX_FORMAT_Y8X8:
@@ -892,6 +893,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_B8G8_B8G8:
case R300_TX_FORMAT_G8R8_G8B8:
track->textures[i].cpp = 2;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_Y16X16:
case R300_TX_FORMAT_Z11Y11X10:
@@ -902,14 +904,17 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_FL_I32:
case 0x1e:
track->textures[i].cpp = 4;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_W16Z16Y16X16:
case R300_TX_FORMAT_FL_R16G16B16A16:
case R300_TX_FORMAT_FL_I32A32:
track->textures[i].cpp = 8;
+   track->textures[i].compress_format = 
R100_TRACK_COMP_NONE;
break;
case R300_TX_FORMAT_FL_R32G32B32A32:
track->textures[i].cpp = 16;
+   track->textures[i].compress