isl: Remove surf_get_intratile_offset_el

The intratile offset may not be a multiple of the element size so this
calculation is invalid.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
This commit is contained in:
Jason Ekstrand 2016-03-30 16:23:02 -07:00
parent b37502b983
commit b0a5ca5cfc
3 changed files with 0 additions and 125 deletions

View file

@ -1452,36 +1452,6 @@ isl_tiling_get_intratile_offset_el(const struct isl_device *dev,
*y_offset_el = small_y_offset_el;
}
void
isl_surf_get_image_intratile_offset_el(const struct isl_device *dev,
const struct isl_surf *surf,
uint32_t level,
uint32_t logical_array_layer,
uint32_t logical_z_offset,
uint32_t *base_address_offset,
uint32_t *x_offset_el,
uint32_t *y_offset_el)
{
const struct isl_format_layout *fmtl = isl_format_get_layout(surf->format);
uint32_t total_x_offset_el;
uint32_t total_y_offset_el;
isl_surf_get_image_offset_el(surf, level,
logical_array_layer,
logical_z_offset,
&total_x_offset_el,
&total_y_offset_el);
isl_tiling_get_intratile_offset_el(dev, surf->tiling, fmtl->bs,
surf->row_pitch,
total_x_offset_el,
total_y_offset_el,
base_address_offset,
x_offset_el,
y_offset_el);
}
uint32_t
isl_surf_get_depth_format(const struct isl_device *dev,
const struct isl_surf *surf)

View file

@ -1163,26 +1163,6 @@ isl_tiling_get_intratile_offset_el(const struct isl_device *dev,
uint32_t *x_offset_B,
uint32_t *y_offset_rows);
/**
* @brief Calculate the intratile offsets to a subimage in the surface.
*
* In @a base_address_offset return the offset from the base of the surface to
* the base address of the first tile of the subimage. In @a x_offset_el and
* @a y_offset_el, return the offset, in units of surface elements, from the
* tile's base to the subimage's first surface element. The x and y offsets
* are intratile offsets; that is, they do not exceed the boundary of the
* surface's tiling format.
*/
void
isl_surf_get_image_intratile_offset_el(const struct isl_device *dev,
const struct isl_surf *surf,
uint32_t level,
uint32_t logical_array_layer,
uint32_t logical_z_offset,
uint32_t *base_address_offset,
uint32_t *x_offset_el,
uint32_t *y_offset_el);
/**
* @brief Get value of 3DSTATE_DEPTH_BUFFER.SurfaceFormat
*

View file

@ -93,31 +93,6 @@ t_assert_offset_el(const struct isl_surf *surf,
t_assert(y == expected_y_offset_el);
}
static void
t_assert_intratile_offset_el(const struct isl_device *dev,
const struct isl_surf *surf,
uint32_t level,
uint32_t logical_array_layer,
uint32_t logical_z_offset_px,
uint32_t expected_base_address_offset,
uint32_t expected_x_offset_el,
uint32_t expected_y_offset_el)
{
uint32_t base_address_offset;
uint32_t x_offset_el, y_offset_el;
isl_surf_get_image_intratile_offset_el(dev, surf,
level,
logical_array_layer,
logical_z_offset_px,
&base_address_offset,
&x_offset_el,
&y_offset_el);
t_assert(base_address_offset == expected_base_address_offset);
t_assert(x_offset_el == expected_x_offset_el);
t_assert(y_offset_el == expected_y_offset_el);
}
static void
t_assert_phys_level0_sa(const struct isl_surf *surf, uint32_t width,
uint32_t height, uint32_t depth, uint32_t array_len)
@ -188,17 +163,6 @@ test_bdw_2d_r8g8b8a8_unorm_512x512_array01_samples01_noaux_tiley0(void)
t_assert_offset_el(&surf, 7, 0, 0, 256, 760); // +0, +8
t_assert_offset_el(&surf, 8, 0, 0, 256, 764); // +0, +4
t_assert_offset_el(&surf, 9, 0, 0, 256, 768); // +0, +4
t_assert_intratile_offset_el(&dev, &surf, 0, 0, 0, 0x0, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 1, 0, 0, 0x100000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 2, 0, 0, 0x108000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 3, 0, 0, 0x148000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 4, 0, 0, 0x168000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 5, 0, 0, 0x178000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 6, 0, 0, 0x178000, 0, 16);
t_assert_intratile_offset_el(&dev, &surf, 7, 0, 0, 0x178000, 0, 24);
t_assert_intratile_offset_el(&dev, &surf, 8, 0, 0, 0x178000, 0, 28);
t_assert_intratile_offset_el(&dev, &surf, 9, 0, 0, 0x188000, 0, 0);
}
static void
@ -257,45 +221,6 @@ test_bdw_2d_r8g8b8a8_unorm_1024x1024_array06_samples01_noaux_tiley0(void)
*/
t_assert(isl_surf_get_array_pitch_el_rows(&surf) == 1540);
/* array layer 0 */
t_assert_intratile_offset_el(&dev, &surf, 0, 0, 0, 0x0, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 1, 0, 0, 0x400000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 2, 0, 0, 0x410000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 3, 0, 0, 0x510000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 4, 0, 0, 0x590000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 5, 0, 0, 0x5d0000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 6, 0, 0, 0x5f0000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 7, 0, 0, 0x5f0000, 0, 16);
t_assert_intratile_offset_el(&dev, &surf, 8, 0, 0, 0x5f0000, 0, 24);
t_assert_intratile_offset_el(&dev, &surf, 9, 0, 0, 0x5f0000, 0, 28);
t_assert_intratile_offset_el(&dev, &surf, 10, 0, 0, 0x610000, 0, 0);
/* array layer 1 */
t_assert_intratile_offset_el(&dev, &surf, 0, 1, 0, 0x600000, 0, 4);
t_assert_intratile_offset_el(&dev, &surf, 1, 1, 0, 0xa00000, 0, 4);
t_assert_intratile_offset_el(&dev, &surf, 2, 1, 0, 0xa10000, 0, 4);
t_assert_intratile_offset_el(&dev, &surf, 3, 1, 0, 0xb10000, 0, 4);
t_assert_intratile_offset_el(&dev, &surf, 4, 1, 0, 0xb90000, 0, 4);
t_assert_intratile_offset_el(&dev, &surf, 5, 1, 0, 0xbd0000, 0, 4);
t_assert_intratile_offset_el(&dev, &surf, 6, 1, 0, 0xbf0000, 0, 4);
t_assert_intratile_offset_el(&dev, &surf, 7, 1, 0, 0xbf0000, 0, 20);
t_assert_intratile_offset_el(&dev, &surf, 8, 1, 0, 0xbf0000, 0, 28);
t_assert_intratile_offset_el(&dev, &surf, 9, 1, 0, 0xc10000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 10, 1, 0, 0xc10000, 0, 4);
/* array layer 2 */
t_assert_intratile_offset_el(&dev, &surf, 0, 2, 0, 0xc00000, 0, 8);
t_assert_intratile_offset_el(&dev, &surf, 1, 2, 0, 0x1000000, 0, 8);
t_assert_intratile_offset_el(&dev, &surf, 2, 2, 0, 0x1010000, 0, 8);
t_assert_intratile_offset_el(&dev, &surf, 3, 2, 0, 0x1110000, 0, 8);
t_assert_intratile_offset_el(&dev, &surf, 4, 2, 0, 0x1190000, 0, 8);
t_assert_intratile_offset_el(&dev, &surf, 5, 2, 0, 0x11d0000, 0, 8);
t_assert_intratile_offset_el(&dev, &surf, 6, 2, 0, 0x11f0000, 0, 8);
t_assert_intratile_offset_el(&dev, &surf, 7, 2, 0, 0x11f0000, 0, 24);
t_assert_intratile_offset_el(&dev, &surf, 8, 2, 0, 0x1210000, 0, 0);
t_assert_intratile_offset_el(&dev, &surf, 9, 2, 0, 0x1210000, 0, 4);
t_assert_intratile_offset_el(&dev, &surf, 10, 2, 0, 0x1210000, 0, 8);
/* skip the remaining array layers */
}