tex_obj = intel_texture_object(u->TexObj);
if (tex_obj && tex_obj->mt) {
- /* Access to images is implemented using indirect messages
- * against data port. Normal render target write understands
- * lossless compression but unfortunately the typed/untyped
- * read/write interface doesn't. Therefore even lossless
- * compressed surfaces need to be resolved prior to accessing
- * them. Hence skip setting INTEL_MIPTREE_IGNORE_CCS_E.
- */
- intel_miptree_all_slices_resolve_color(brw, tex_obj->mt, 0);
+ intel_miptree_prepare_image(brw, tex_obj->mt);
if (intel_miptree_is_lossless_compressed(brw, tex_obj->mt) &&
intel_disable_rb_aux_buffer(brw, tex_obj->mt->bo)) {
aux_supported_out);
}
+void
+intel_miptree_prepare_image(struct brw_context *brw,
+ struct intel_mipmap_tree *mt)
+{
+ /* The data port doesn't understand any compression */
+ intel_miptree_prepare_access(brw, mt, 0, INTEL_REMAINING_LEVELS,
+ 0, INTEL_REMAINING_LAYERS, false, false);
+}
+
void
intel_miptree_prepare_fb_fetch(struct brw_context *brw,
struct intel_mipmap_tree *mt, uint32_t level,
mesa_format view_format,
bool *aux_supported_out);
void
+intel_miptree_prepare_image(struct brw_context *brw,
+ struct intel_mipmap_tree *mt);
+void
intel_miptree_prepare_fb_fetch(struct brw_context *brw,
struct intel_mipmap_tree *mt, uint32_t level,
uint32_t start_layer, uint32_t num_layers);