diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r100_track.h | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r200.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_reg.h | 1 |
4 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index 6d1540c0bfed..0e8f28a68927 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c | |||
| @@ -3180,6 +3180,8 @@ static int r100_cs_track_texture_check(struct radeon_device *rdev, | |||
| 3180 | for (u = 0; u < track->num_texture; u++) { | 3180 | for (u = 0; u < track->num_texture; u++) { |
| 3181 | if (!track->textures[u].enabled) | 3181 | if (!track->textures[u].enabled) |
| 3182 | continue; | 3182 | continue; |
| 3183 | if (track->textures[u].lookup_disable) | ||
| 3184 | continue; | ||
| 3183 | robj = track->textures[u].robj; | 3185 | robj = track->textures[u].robj; |
| 3184 | if (robj == NULL) { | 3186 | if (robj == NULL) { |
| 3185 | DRM_ERROR("No texture bound to unit %u\n", u); | 3187 | DRM_ERROR("No texture bound to unit %u\n", u); |
| @@ -3414,6 +3416,7 @@ void r100_cs_track_clear(struct radeon_device *rdev, struct r100_cs_track *track | |||
| 3414 | track->textures[i].robj = NULL; | 3416 | track->textures[i].robj = NULL; |
| 3415 | /* CS IB emission code makes sure texture unit are disabled */ | 3417 | /* CS IB emission code makes sure texture unit are disabled */ |
| 3416 | track->textures[i].enabled = false; | 3418 | track->textures[i].enabled = false; |
| 3419 | track->textures[i].lookup_disable = false; | ||
| 3417 | track->textures[i].roundup_w = true; | 3420 | track->textures[i].roundup_w = true; |
| 3418 | track->textures[i].roundup_h = true; | 3421 | track->textures[i].roundup_h = true; |
| 3419 | if (track->separate_cube) | 3422 | if (track->separate_cube) |
diff --git a/drivers/gpu/drm/radeon/r100_track.h b/drivers/gpu/drm/radeon/r100_track.h index f47cdca1c004..af65600e6564 100644 --- a/drivers/gpu/drm/radeon/r100_track.h +++ b/drivers/gpu/drm/radeon/r100_track.h | |||
| @@ -46,6 +46,7 @@ struct r100_cs_track_texture { | |||
| 46 | unsigned height_11; | 46 | unsigned height_11; |
| 47 | bool use_pitch; | 47 | bool use_pitch; |
| 48 | bool enabled; | 48 | bool enabled; |
| 49 | bool lookup_disable; | ||
| 49 | bool roundup_w; | 50 | bool roundup_w; |
| 50 | bool roundup_h; | 51 | bool roundup_h; |
| 51 | unsigned compress_format; | 52 | unsigned compress_format; |
diff --git a/drivers/gpu/drm/radeon/r200.c b/drivers/gpu/drm/radeon/r200.c index 0266d72e0a4c..d2408c395619 100644 --- a/drivers/gpu/drm/radeon/r200.c +++ b/drivers/gpu/drm/radeon/r200.c | |||
| @@ -447,6 +447,8 @@ int r200_packet0_check(struct radeon_cs_parser *p, | |||
| 447 | track->textures[i].width = 1 << ((idx_value >> RADEON_TXFORMAT_WIDTH_SHIFT) & RADEON_TXFORMAT_WIDTH_MASK); | 447 | track->textures[i].width = 1 << ((idx_value >> RADEON_TXFORMAT_WIDTH_SHIFT) & RADEON_TXFORMAT_WIDTH_MASK); |
| 448 | track->textures[i].height = 1 << ((idx_value >> RADEON_TXFORMAT_HEIGHT_SHIFT) & RADEON_TXFORMAT_HEIGHT_MASK); | 448 | track->textures[i].height = 1 << ((idx_value >> RADEON_TXFORMAT_HEIGHT_SHIFT) & RADEON_TXFORMAT_HEIGHT_MASK); |
| 449 | } | 449 | } |
| 450 | if (idx_value & R200_TXFORMAT_LOOKUP_DISABLE) | ||
| 451 | track->textures[i].lookup_disable = true; | ||
| 450 | switch ((idx_value & RADEON_TXFORMAT_FORMAT_MASK)) { | 452 | switch ((idx_value & RADEON_TXFORMAT_FORMAT_MASK)) { |
| 451 | case R200_TXFORMAT_I8: | 453 | case R200_TXFORMAT_I8: |
| 452 | case R200_TXFORMAT_RGB332: | 454 | case R200_TXFORMAT_RGB332: |
diff --git a/drivers/gpu/drm/radeon/radeon_reg.h b/drivers/gpu/drm/radeon/radeon_reg.h index c332f46340d5..64928814de53 100644 --- a/drivers/gpu/drm/radeon/radeon_reg.h +++ b/drivers/gpu/drm/radeon/radeon_reg.h | |||
| @@ -2836,6 +2836,7 @@ | |||
| 2836 | # define R200_TXFORMAT_ST_ROUTE_STQ5 (5 << 24) | 2836 | # define R200_TXFORMAT_ST_ROUTE_STQ5 (5 << 24) |
| 2837 | # define R200_TXFORMAT_ST_ROUTE_MASK (7 << 24) | 2837 | # define R200_TXFORMAT_ST_ROUTE_MASK (7 << 24) |
| 2838 | # define R200_TXFORMAT_ST_ROUTE_SHIFT 24 | 2838 | # define R200_TXFORMAT_ST_ROUTE_SHIFT 24 |
| 2839 | # define R200_TXFORMAT_LOOKUP_DISABLE (1 << 27) | ||
| 2839 | # define R200_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) | 2840 | # define R200_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) |
| 2840 | # define R200_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) | 2841 | # define R200_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) |
| 2841 | # define R200_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) | 2842 | # define R200_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) |
