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)
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
*/
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 */
}