i965: Assert that we don't use CPU write maps to non-coherent buffers.
Using CPU maps of non-coherent buffers can get us in a lot of trouble, and WC maps are a reasonable alternative anyway. Guard against shooting ourselves in the foot by adding an assert, and comment. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
@@ -669,6 +669,12 @@ brw_bo_map_cpu(struct brw_context *brw, struct brw_bo *bo, unsigned flags)
|
||||
{
|
||||
struct brw_bufmgr *bufmgr = bo->bufmgr;
|
||||
|
||||
/* We disallow CPU maps for writing to non-coherent buffers, as the
|
||||
* CPU map can become invalidated when a batch is flushed out, which
|
||||
* can happen at unpredictable times. You should use WC maps instead.
|
||||
*/
|
||||
assert(bo->cache_coherent || !(flags & MAP_WRITE));
|
||||
|
||||
if (!bo->map_cpu) {
|
||||
struct drm_i915_gem_mmap mmap_arg;
|
||||
void *map;
|
||||
|
Reference in New Issue
Block a user