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) |