|
@@ -656,239 +656,291 @@ static void gfx_v6_0_tiling_mode_table_init(struct amdgpu_device *adev)
|
|
|
} else if ((adev->asic_type == CHIP_TAHITI) || (adev->asic_type == CHIP_PITCAIRN)) {
|
|
|
for (reg_offset = 0; reg_offset < num_tile_mode_states; reg_offset++) {
|
|
|
switch (reg_offset) {
|
|
|
- case 0: /* non-AA compressed depth or any compressed stencil */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ case 0:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_64B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK));
|
|
|
break;
|
|
|
- case 1: /* 2xAA/4xAA compressed depth only */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ case 1:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_128B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK));
|
|
|
break;
|
|
|
- case 2: /* 8xAA compressed depth only */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ case 2:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK));
|
|
|
break;
|
|
|
- case 3: /* 2xAA/4xAA compressed depth with stencil (for depth buffer) */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ case 3:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(ADDR_SURF_TILE_SPLIT_128B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_4_BANK) |
|
|
|
+ TILE_SPLIT(split_equal_to_row_size));
|
|
|
break;
|
|
|
- case 4: /* Maps w/ a dimension less than the 2D macro-tile dimensions (for mipmapped depth textures) */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
- PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(ADDR_SURF_TILE_SPLIT_64B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
- BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_2) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ case 4:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16));
|
|
|
break;
|
|
|
- case 5: /* Uncompressed 16bpp depth - and stencil buffer allocated with it */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ case 5:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(split_equal_to_row_size) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
+ TILE_SPLIT(ADDR_SURF_TILE_SPLIT_512B) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_2) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
break;
|
|
|
- case 6: /* Uncompressed 32bpp depth - and stencil buffer allocated with it */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ case 6:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(split_equal_to_row_size) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
+ TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_1) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1));
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_8) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
break;
|
|
|
- case 7: /* Uncompressed 8bpp stencil without depth (drivers typically do not use) */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
- PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(split_equal_to_row_size) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
+ case 7:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DEPTH_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P4_8x16) |
|
|
|
+ TILE_SPLIT(ADDR_SURF_TILE_SPLIT_1KB) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
break;
|
|
|
- case 8: /* 1D and 1D Array Surfaces */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_LINEAR_ALIGNED) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DISPLAY_MICRO_TILING) |
|
|
|
- PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(ADDR_SURF_TILE_SPLIT_64B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
- BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_2) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ case 8:
|
|
|
+ gb_tile_moden = (ARRAY_MODE(ARRAY_LINEAR_ALIGNED));
|
|
|
break;
|
|
|
- case 9: /* Displayable maps. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DISPLAY_MICRO_TILING) |
|
|
|
- PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(ADDR_SURF_TILE_SPLIT_64B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
- BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_2) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ case 9:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DISPLAY_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16));
|
|
|
break;
|
|
|
- case 10: /* Display 8bpp. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DISPLAY_MICRO_TILING) |
|
|
|
+ case 10:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DISPLAY_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK));
|
|
|
break;
|
|
|
- case 11: /* Display 16bpp. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DISPLAY_MICRO_TILING) |
|
|
|
+ case 11:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DISPLAY_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_2) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK));
|
|
|
break;
|
|
|
- case 12: /* Display 32bpp. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_DISPLAY_MICRO_TILING) |
|
|
|
+ case 12:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_DISPLAY_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_512B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_1) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK));
|
|
|
break;
|
|
|
- case 13: /* Thin. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
- PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(ADDR_SURF_TILE_SPLIT_64B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
- BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_2) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ case 13:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16));
|
|
|
break;
|
|
|
- case 14: /* Thin 8 bpp. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ case 14:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK));
|
|
|
break;
|
|
|
- case 15: /* Thin 16 bpp. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ case 15:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_2) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK));
|
|
|
break;
|
|
|
- case 16: /* Thin 32 bpp. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ case 16:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_512B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_1) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK));
|
|
|
break;
|
|
|
- case 17: /* Thin 64 bpp. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ case 17:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(split_equal_to_row_size) |
|
|
|
+ BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_1) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
+ TILE_SPLIT(split_equal_to_row_size));
|
|
|
+ break;
|
|
|
+ case 18:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_1D_TILED_THICK) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16));
|
|
|
+ break;
|
|
|
+ case 19:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_XTHICK) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_1) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
+ TILE_SPLIT(split_equal_to_row_size));
|
|
|
break;
|
|
|
- case 21: /* 8 bpp PRT. */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ case 20:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THICK) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
- TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
+ BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_1) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
- BANK_WIDTH(ADDR_SURF_BANK_WIDTH_2) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ TILE_SPLIT(split_equal_to_row_size));
|
|
|
break;
|
|
|
- case 22: /* 16 bpp PRT */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ case 21:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
+ TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
+ BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_8) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_4_BANK));
|
|
|
+ break;
|
|
|
+ case 22:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_4));
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_4_BANK));
|
|
|
break;
|
|
|
- case 23: /* 32 bpp PRT */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ case 23:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_256B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_2) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_8) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
break;
|
|
|
- case 24: /* 64 bpp PRT */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ case 24:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_512B) |
|
|
|
- NUM_BANKS(ADDR_SURF_16_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_1) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_2));
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
break;
|
|
|
- case 25: /* 128 bpp PRT */
|
|
|
- gb_tile_moden = (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
- MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
- PIPE_CONFIG(ADDR_SURF_P8_32x32_8x16) |
|
|
|
+ case 25:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P4_8x16) |
|
|
|
TILE_SPLIT(ADDR_SURF_TILE_SPLIT_1KB) |
|
|
|
- NUM_BANKS(ADDR_SURF_8_BANK) |
|
|
|
BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
- BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_1) |
|
|
|
- MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1));
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
break;
|
|
|
- default:
|
|
|
- gb_tile_moden = 0;
|
|
|
+ case 26:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P4_8x16) |
|
|
|
+ TILE_SPLIT(ADDR_SURF_TILE_SPLIT_1KB) |
|
|
|
+ BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
+ break;
|
|
|
+ case 27:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P4_8x16) |
|
|
|
+ TILE_SPLIT(ADDR_SURF_TILE_SPLIT_1KB) |
|
|
|
+ BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
break;
|
|
|
+ case 28:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P4_8x16) |
|
|
|
+ TILE_SPLIT(ADDR_SURF_TILE_SPLIT_1KB) |
|
|
|
+ BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
+ break;
|
|
|
+ case 29:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P4_8x16) |
|
|
|
+ TILE_SPLIT(ADDR_SURF_TILE_SPLIT_1KB) |
|
|
|
+ BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_4) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
+ break;
|
|
|
+ case 30:
|
|
|
+ gb_tile_moden = (MICRO_TILE_MODE(ADDR_SURF_THIN_MICRO_TILING) |
|
|
|
+ ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
|
|
|
+ PIPE_CONFIG(ADDR_SURF_P4_8x16) |
|
|
|
+ TILE_SPLIT(ADDR_SURF_TILE_SPLIT_2KB) |
|
|
|
+ BANK_WIDTH(ADDR_SURF_BANK_WIDTH_1) |
|
|
|
+ BANK_HEIGHT(ADDR_SURF_BANK_HEIGHT_2) |
|
|
|
+ MACRO_TILE_ASPECT(ADDR_SURF_MACRO_ASPECT_1) |
|
|
|
+ NUM_BANKS(ADDR_SURF_2_BANK));
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ continue;
|
|
|
}
|
|
|
adev->gfx.config.tile_mode_array[reg_offset] = gb_tile_moden;
|
|
|
WREG32(mmGB_TILE_MODE0 + reg_offset, gb_tile_moden);
|