i965: Move images to the new resolve functions

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
This commit is contained in:
Jason Ekstrand 2017-05-25 12:30:50 -07:00
parent 8cb3b4a586
commit 170e4b366a
3 changed files with 13 additions and 8 deletions

View file

@ -253,14 +253,7 @@ intel_update_state(struct gl_context * ctx, GLuint new_state)
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)) {

View file

@ -2468,6 +2468,15 @@ intel_miptree_prepare_texture(struct brw_context *brw,
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,

View file

@ -1051,6 +1051,9 @@ intel_miptree_prepare_texture(struct brw_context *brw,
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);