struct isl_view view;
- /**
- * The miplevel to use.
- */
- uint32_t level;
-
- /**
- * The 2D layer within the miplevel. Combined, level and layer define the
- * 2D miptree slice to use.
- *
- * Note: if mt is a 2D multisample array texture on Gen7+ using
- * INTEL_MSAA_LAYOUT_UMS or INTEL_MSAA_LAYOUT_CMS, layer is the physical
- * layer holding sample 0. So, for example, if mt->num_samples == 4, then
- * logical layer n corresponds to layer == 4*n.
- */
- uint32_t layer;
-
- /**
- * Width of the miplevel to be used. For surfaces using
- * INTEL_MSAA_LAYOUT_IMS, this is measured in samples, not pixels.
- */
- uint32_t width;
-
- /**
- * Height of the miplevel to be used. For surfaces using
- * INTEL_MSAA_LAYOUT_IMS, this is measured in samples, not pixels.
- */
- uint32_t height;
+ /* Z offset into a 3-D texture or slice of a 2-D array texture. */
+ uint32_t z_offset;
uint32_t bo_offset;
uint32_t tile_x_sa, tile_y_sa;
struct brw_blorp_prog_data *prog_data,
unsigned *program_size);
+void
+blorp_get_image_offset_sa(struct isl_device *dev, const struct isl_surf *surf,
+ uint32_t level, uint32_t layer,
+ uint32_t *x_offset_sa,
+ uint32_t *y_offset_sa);
+
uint32_t
brw_blorp_emit_surface_state(struct brw_context *brw,
const struct brw_blorp_surface_info *surface,