diff options
| author | Roland Scheidegger <sroland@vmware.com> | 2010-06-12 12:12:37 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2010-06-30 21:59:21 -0400 |
| commit | f9da52d54eb0e8822b5e7f32ab1cfa6522533d6e (patch) | |
| tree | 9d9dfaca731c0acea84e964467172e7f6b31496c | |
| parent | 76a7142a083434fe55b14f01aa2624733fea39b2 (diff) | |
drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx
fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28459
agd5f: apply to r1xx/r2xx as well.
Signed-off-by: Roland Scheidegger <sroland@vmware.com>
Cc: stable@kernel.org
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
| -rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r200.c | 3 | ||||
| -rw-r--r-- | 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 1930db6d1771..d524efd9a059 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, | |||
| 1628 | case RADEON_TXFORMAT_RGB332: | 1628 | case RADEON_TXFORMAT_RGB332: |
| 1629 | case RADEON_TXFORMAT_Y8: | 1629 | case RADEON_TXFORMAT_Y8: |
| 1630 | track->textures[i].cpp = 1; | 1630 | track->textures[i].cpp = 1; |
| 1631 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 1631 | break; | 1632 | break; |
| 1632 | case RADEON_TXFORMAT_AI88: | 1633 | case RADEON_TXFORMAT_AI88: |
| 1633 | case RADEON_TXFORMAT_ARGB1555: | 1634 | case RADEON_TXFORMAT_ARGB1555: |
| @@ -1639,12 +1640,14 @@ static int r100_packet0_check(struct radeon_cs_parser *p, | |||
| 1639 | case RADEON_TXFORMAT_LDUDV655: | 1640 | case RADEON_TXFORMAT_LDUDV655: |
| 1640 | case RADEON_TXFORMAT_DUDV88: | 1641 | case RADEON_TXFORMAT_DUDV88: |
| 1641 | track->textures[i].cpp = 2; | 1642 | track->textures[i].cpp = 2; |
| 1643 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 1642 | break; | 1644 | break; |
| 1643 | case RADEON_TXFORMAT_ARGB8888: | 1645 | case RADEON_TXFORMAT_ARGB8888: |
| 1644 | case RADEON_TXFORMAT_RGBA8888: | 1646 | case RADEON_TXFORMAT_RGBA8888: |
| 1645 | case RADEON_TXFORMAT_SHADOW32: | 1647 | case RADEON_TXFORMAT_SHADOW32: |
| 1646 | case RADEON_TXFORMAT_LDUDUV8888: | 1648 | case RADEON_TXFORMAT_LDUDUV8888: |
| 1647 | track->textures[i].cpp = 4; | 1649 | track->textures[i].cpp = 4; |
| 1650 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 1648 | break; | 1651 | break; |
| 1649 | case RADEON_TXFORMAT_DXT1: | 1652 | case RADEON_TXFORMAT_DXT1: |
| 1650 | track->textures[i].cpp = 1; | 1653 | track->textures[i].cpp = 1; |
diff --git a/drivers/gpu/drm/radeon/r200.c b/drivers/gpu/drm/radeon/r200.c index 85617c311212..a03f8939f327 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, | |||
| 450 | case R200_TXFORMAT_RGB332: | 450 | case R200_TXFORMAT_RGB332: |
| 451 | case R200_TXFORMAT_Y8: | 451 | case R200_TXFORMAT_Y8: |
| 452 | track->textures[i].cpp = 1; | 452 | track->textures[i].cpp = 1; |
| 453 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 453 | break; | 454 | break; |
| 454 | case R200_TXFORMAT_AI88: | 455 | case R200_TXFORMAT_AI88: |
| 455 | case R200_TXFORMAT_ARGB1555: | 456 | case R200_TXFORMAT_ARGB1555: |
| @@ -461,6 +462,7 @@ int r200_packet0_check(struct radeon_cs_parser *p, | |||
| 461 | case R200_TXFORMAT_DVDU88: | 462 | case R200_TXFORMAT_DVDU88: |
| 462 | case R200_TXFORMAT_AVYU4444: | 463 | case R200_TXFORMAT_AVYU4444: |
| 463 | track->textures[i].cpp = 2; | 464 | track->textures[i].cpp = 2; |
| 465 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 464 | break; | 466 | break; |
| 465 | case R200_TXFORMAT_ARGB8888: | 467 | case R200_TXFORMAT_ARGB8888: |
| 466 | case R200_TXFORMAT_RGBA8888: | 468 | case R200_TXFORMAT_RGBA8888: |
| @@ -468,6 +470,7 @@ int r200_packet0_check(struct radeon_cs_parser *p, | |||
| 468 | case R200_TXFORMAT_BGR111110: | 470 | case R200_TXFORMAT_BGR111110: |
| 469 | case R200_TXFORMAT_LDVDU8888: | 471 | case R200_TXFORMAT_LDVDU8888: |
| 470 | track->textures[i].cpp = 4; | 472 | track->textures[i].cpp = 4; |
| 473 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 471 | break; | 474 | break; |
| 472 | case R200_TXFORMAT_DXT1: | 475 | case R200_TXFORMAT_DXT1: |
| 473 | track->textures[i].cpp = 1; | 476 | track->textures[i].cpp = 1; |
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index b2f9efe2897c..7e81db5eb804 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, | |||
| 881 | case R300_TX_FORMAT_Y4X4: | 881 | case R300_TX_FORMAT_Y4X4: |
| 882 | case R300_TX_FORMAT_Z3Y3X2: | 882 | case R300_TX_FORMAT_Z3Y3X2: |
| 883 | track->textures[i].cpp = 1; | 883 | track->textures[i].cpp = 1; |
| 884 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 884 | break; | 885 | break; |
| 885 | case R300_TX_FORMAT_X16: | 886 | case R300_TX_FORMAT_X16: |
| 886 | case R300_TX_FORMAT_Y8X8: | 887 | case R300_TX_FORMAT_Y8X8: |
| @@ -892,6 +893,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p, | |||
| 892 | case R300_TX_FORMAT_B8G8_B8G8: | 893 | case R300_TX_FORMAT_B8G8_B8G8: |
| 893 | case R300_TX_FORMAT_G8R8_G8B8: | 894 | case R300_TX_FORMAT_G8R8_G8B8: |
| 894 | track->textures[i].cpp = 2; | 895 | track->textures[i].cpp = 2; |
| 896 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 895 | break; | 897 | break; |
| 896 | case R300_TX_FORMAT_Y16X16: | 898 | case R300_TX_FORMAT_Y16X16: |
| 897 | case R300_TX_FORMAT_Z11Y11X10: | 899 | case R300_TX_FORMAT_Z11Y11X10: |
| @@ -902,14 +904,17 @@ static int r300_packet0_check(struct radeon_cs_parser *p, | |||
| 902 | case R300_TX_FORMAT_FL_I32: | 904 | case R300_TX_FORMAT_FL_I32: |
| 903 | case 0x1e: | 905 | case 0x1e: |
| 904 | track->textures[i].cpp = 4; | 906 | track->textures[i].cpp = 4; |
| 907 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 905 | break; | 908 | break; |
| 906 | case R300_TX_FORMAT_W16Z16Y16X16: | 909 | case R300_TX_FORMAT_W16Z16Y16X16: |
| 907 | case R300_TX_FORMAT_FL_R16G16B16A16: | 910 | case R300_TX_FORMAT_FL_R16G16B16A16: |
| 908 | case R300_TX_FORMAT_FL_I32A32: | 911 | case R300_TX_FORMAT_FL_I32A32: |
| 909 | track->textures[i].cpp = 8; | 912 | track->textures[i].cpp = 8; |
| 913 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 910 | break; | 914 | break; |
| 911 | case R300_TX_FORMAT_FL_R32G32B32A32: | 915 | case R300_TX_FORMAT_FL_R32G32B32A32: |
| 912 | track->textures[i].cpp = 16; | 916 | track->textures[i].cpp = 16; |
| 917 | track->textures[i].compress_format = R100_TRACK_COMP_NONE; | ||
| 913 | break; | 918 | break; |
| 914 | case R300_TX_FORMAT_DXT1: | 919 | case R300_TX_FORMAT_DXT1: |
| 915 | track->textures[i].cpp = 1; | 920 | track->textures[i].cpp = 1; |
