Commit f9da52d5 authored by Roland Scheidegger's avatar Roland Scheidegger Committed by Dave Airlie

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: default avatarRoland Scheidegger <sroland@vmware.com>
Cc: stable@kernel.org
Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 76a7142a
...@@ -1628,6 +1628,7 @@ static int r100_packet0_check(struct radeon_cs_parser *p, ...@@ -1628,6 +1628,7 @@ static int r100_packet0_check(struct radeon_cs_parser *p,
case RADEON_TXFORMAT_RGB332: case RADEON_TXFORMAT_RGB332:
case RADEON_TXFORMAT_Y8: case RADEON_TXFORMAT_Y8:
track->textures[i].cpp = 1; track->textures[i].cpp = 1;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case RADEON_TXFORMAT_AI88: case RADEON_TXFORMAT_AI88:
case RADEON_TXFORMAT_ARGB1555: case RADEON_TXFORMAT_ARGB1555:
...@@ -1639,12 +1640,14 @@ static int r100_packet0_check(struct radeon_cs_parser *p, ...@@ -1639,12 +1640,14 @@ static int r100_packet0_check(struct radeon_cs_parser *p,
case RADEON_TXFORMAT_LDUDV655: case RADEON_TXFORMAT_LDUDV655:
case RADEON_TXFORMAT_DUDV88: case RADEON_TXFORMAT_DUDV88:
track->textures[i].cpp = 2; track->textures[i].cpp = 2;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case RADEON_TXFORMAT_ARGB8888: case RADEON_TXFORMAT_ARGB8888:
case RADEON_TXFORMAT_RGBA8888: case RADEON_TXFORMAT_RGBA8888:
case RADEON_TXFORMAT_SHADOW32: case RADEON_TXFORMAT_SHADOW32:
case RADEON_TXFORMAT_LDUDUV8888: case RADEON_TXFORMAT_LDUDUV8888:
track->textures[i].cpp = 4; track->textures[i].cpp = 4;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case RADEON_TXFORMAT_DXT1: case RADEON_TXFORMAT_DXT1:
track->textures[i].cpp = 1; track->textures[i].cpp = 1;
......
...@@ -450,6 +450,7 @@ int r200_packet0_check(struct radeon_cs_parser *p, ...@@ -450,6 +450,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_RGB332: case R200_TXFORMAT_RGB332:
case R200_TXFORMAT_Y8: case R200_TXFORMAT_Y8:
track->textures[i].cpp = 1; track->textures[i].cpp = 1;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case R200_TXFORMAT_AI88: case R200_TXFORMAT_AI88:
case R200_TXFORMAT_ARGB1555: case R200_TXFORMAT_ARGB1555:
...@@ -461,6 +462,7 @@ int r200_packet0_check(struct radeon_cs_parser *p, ...@@ -461,6 +462,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_DVDU88: case R200_TXFORMAT_DVDU88:
case R200_TXFORMAT_AVYU4444: case R200_TXFORMAT_AVYU4444:
track->textures[i].cpp = 2; track->textures[i].cpp = 2;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case R200_TXFORMAT_ARGB8888: case R200_TXFORMAT_ARGB8888:
case R200_TXFORMAT_RGBA8888: case R200_TXFORMAT_RGBA8888:
...@@ -468,6 +470,7 @@ int r200_packet0_check(struct radeon_cs_parser *p, ...@@ -468,6 +470,7 @@ int r200_packet0_check(struct radeon_cs_parser *p,
case R200_TXFORMAT_BGR111110: case R200_TXFORMAT_BGR111110:
case R200_TXFORMAT_LDVDU8888: case R200_TXFORMAT_LDVDU8888:
track->textures[i].cpp = 4; track->textures[i].cpp = 4;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case R200_TXFORMAT_DXT1: case R200_TXFORMAT_DXT1:
track->textures[i].cpp = 1; track->textures[i].cpp = 1;
......
...@@ -881,6 +881,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p, ...@@ -881,6 +881,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_Y4X4: case R300_TX_FORMAT_Y4X4:
case R300_TX_FORMAT_Z3Y3X2: case R300_TX_FORMAT_Z3Y3X2:
track->textures[i].cpp = 1; track->textures[i].cpp = 1;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case R300_TX_FORMAT_X16: case R300_TX_FORMAT_X16:
case R300_TX_FORMAT_Y8X8: case R300_TX_FORMAT_Y8X8:
...@@ -892,6 +893,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p, ...@@ -892,6 +893,7 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_B8G8_B8G8: case R300_TX_FORMAT_B8G8_B8G8:
case R300_TX_FORMAT_G8R8_G8B8: case R300_TX_FORMAT_G8R8_G8B8:
track->textures[i].cpp = 2; track->textures[i].cpp = 2;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case R300_TX_FORMAT_Y16X16: case R300_TX_FORMAT_Y16X16:
case R300_TX_FORMAT_Z11Y11X10: case R300_TX_FORMAT_Z11Y11X10:
...@@ -902,14 +904,17 @@ static int r300_packet0_check(struct radeon_cs_parser *p, ...@@ -902,14 +904,17 @@ static int r300_packet0_check(struct radeon_cs_parser *p,
case R300_TX_FORMAT_FL_I32: case R300_TX_FORMAT_FL_I32:
case 0x1e: case 0x1e:
track->textures[i].cpp = 4; track->textures[i].cpp = 4;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case R300_TX_FORMAT_W16Z16Y16X16: case R300_TX_FORMAT_W16Z16Y16X16:
case R300_TX_FORMAT_FL_R16G16B16A16: case R300_TX_FORMAT_FL_R16G16B16A16:
case R300_TX_FORMAT_FL_I32A32: case R300_TX_FORMAT_FL_I32A32:
track->textures[i].cpp = 8; track->textures[i].cpp = 8;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case R300_TX_FORMAT_FL_R32G32B32A32: case R300_TX_FORMAT_FL_R32G32B32A32:
track->textures[i].cpp = 16; track->textures[i].cpp = 16;
track->textures[i].compress_format = R100_TRACK_COMP_NONE;
break; break;
case R300_TX_FORMAT_DXT1: case R300_TX_FORMAT_DXT1:
track->textures[i].cpp = 1; track->textures[i].cpp = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment