diff options
author | Kenneth Graunke <[email protected]> | 2017-08-16 11:15:24 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2017-08-18 16:28:13 -0700 |
commit | bc56dfbf3f20504fce13e0f1730eea05ea0ea69a (patch) | |
tree | f951aee8e8f22ae73c3cb55035ee22fcaeaa14d7 /src/mesa/drivers | |
parent | a727e03360c9802731f29edcf58e811ac3429e69 (diff) |
i965: Mark all EGLimages as non-coherent.
EGLimages are shared with external users, and we don't know what they're
going to do with them. They might scan them out. They might access
them in a way that doesn't work with our explicit clflushing.
It's safest to simply mark them non-coherent.
Chris Wilson caught this problem and wrote a similar (though less
aggressive) patch to solve it; the miptree code has since undergone
a lot of refactoring so I had to rewrite it.
Cc: "17.2" <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Chris Wilson <[email protected]>
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c index 237ab182712..dab60c4b045 100644 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c @@ -1061,12 +1061,10 @@ intel_miptree_create_for_dri_image(struct brw_context *brw, } } - /* If this is a window-system image, then we can no longer assume it's - * cache-coherent because it may suddenly get scanned out which destroys - * coherency. + /* Don't assume coherency for imported EGLimages. We don't know what + * external clients are going to do with it. They may scan it out. */ - if (is_winsys_image) - image->bo->cache_coherent = false; + image->bo->cache_coherent = false; return mt; } |