i965: Explicitly disallow tiled memcpy path on Gen4 with swizzling.
The manual detiling paths are not prepared to handle Gen4-G45 with swizzling enabled, so explicitly disable them. (They're already disabled because these platforms don't have LLC but a future patch could enable this path). Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
committed by
Matt Turner
parent
bc17155fd0
commit
7063696b71
@@ -133,6 +133,17 @@ intel_readpixels_tiled_memcpy(struct gl_context * ctx,
|
||||
return false;
|
||||
}
|
||||
|
||||
/* tiled_to_linear() assumes that if the object is swizzled, it is using
|
||||
* I915_BIT6_SWIZZLE_9_10 for X and I915_BIT6_SWIZZLE_9 for Y. This is only
|
||||
* true on gen5 and above.
|
||||
*
|
||||
* The killer on top is that some gen4 have an L-shaped swizzle mode, where
|
||||
* parts of the memory aren't swizzled at all. Userspace just can't handle
|
||||
* that.
|
||||
*/
|
||||
if (brw->gen < 5 && brw->has_swizzling)
|
||||
return false;
|
||||
|
||||
/* Since we are going to read raw data to the miptree, we need to resolve
|
||||
* any pending fast color clears before we start.
|
||||
*/
|
||||
|
||||
@@ -522,6 +522,17 @@ intel_gettexsubimage_tiled_memcpy(struct gl_context *ctx,
|
||||
return false;
|
||||
}
|
||||
|
||||
/* tiled_to_linear() assumes that if the object is swizzled, it is using
|
||||
* I915_BIT6_SWIZZLE_9_10 for X and I915_BIT6_SWIZZLE_9 for Y. This is only
|
||||
* true on gen5 and above.
|
||||
*
|
||||
* The killer on top is that some gen4 have an L-shaped swizzle mode, where
|
||||
* parts of the memory aren't swizzled at all. Userspace just can't handle
|
||||
* that.
|
||||
*/
|
||||
if (brw->gen < 5 && brw->has_swizzling)
|
||||
return false;
|
||||
|
||||
/* Since we are going to write raw data to the miptree, we need to resolve
|
||||
* any pending fast color clears before we start.
|
||||
*/
|
||||
|
||||
@@ -134,6 +134,17 @@ intel_texsubimage_tiled_memcpy(struct gl_context * ctx,
|
||||
return false;
|
||||
}
|
||||
|
||||
/* linear_to_tiled() assumes that if the object is swizzled, it is using
|
||||
* I915_BIT6_SWIZZLE_9_10 for X and I915_BIT6_SWIZZLE_9 for Y. This is only
|
||||
* true on gen5 and above.
|
||||
*
|
||||
* The killer on top is that some gen4 have an L-shaped swizzle mode, where
|
||||
* parts of the memory aren't swizzled at all. Userspace just can't handle
|
||||
* that.
|
||||
*/
|
||||
if (brw->gen < 5 && brw->has_swizzling)
|
||||
return false;
|
||||
|
||||
/* Since we are going to write raw data to the miptree, we need to resolve
|
||||
* any pending fast color clears before we start.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user