}
void
-isl_surf_get_image_intratile_offset_el(const struct isl_device *dev,
+isl_surf_get_image_intratile_offset_el_xy(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 total_x_offset_el,
+ uint32_t total_y_offset_el,
uint32_t *base_address_offset,
uint32_t *x_offset_el,
uint32_t *y_offset_el)
struct isl_tile_info tile_info;
isl_surf_get_tile_info(dev, surf, &tile_info);
- 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);
-
uint32_t small_y_offset_el = total_y_offset_el % tile_info.height;
uint32_t big_y_offset_el = total_y_offset_el - small_y_offset_el;
uint32_t big_y_offset_B = big_y_offset_el * surf->row_pitch;
*base_address_offset = big_y_offset_B + big_x_offset_B;
*x_offset_el = small_x_offset_el;
*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)
+{
+ 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_surf_get_image_intratile_offset_el_xy(dev, surf,
+ total_x_offset_el,
+ total_y_offset_el,
+ base_address_offset,
+ x_offset_el,
+ y_offset_el);
}
uint32_t
uint32_t *x_offset_el,
uint32_t *y_offset_el);
+/**
+ * See above.
+ */
+void
+isl_surf_get_image_intratile_offset_el_xy(const struct isl_device *dev,
+ const struct isl_surf *surf,
+ uint32_t total_x_offset_el,
+ uint32_t total_y_offset_el,
+ uint32_t *base_address_offset,
+ uint32_t *x_offset_el,
+ uint32_t *y_offset_el);
+
/**
* @brief Get value of 3DSTATE_DEPTH_BUFFER.SurfaceFormat
*