OSDN Git Service

anv: Assert that the kernel leaves pinned BO addresses alone
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 1 Jun 2018 21:05:53 +0000 (14:05 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 1 Jun 2018 23:33:07 +0000 (16:33 -0700)
Reviewed-by: Scott D Phillips <scott.d.phillips@intel.com>
src/intel/vulkan/anv_queue.c

index 80dddeb..a0cbc34 100644 (file)
@@ -49,8 +49,11 @@ anv_device_execbuf(struct anv_device *device,
 
    struct drm_i915_gem_exec_object2 *objects =
       (void *)(uintptr_t)execbuf->buffers_ptr;
-   for (uint32_t k = 0; k < execbuf->buffer_count; k++)
+   for (uint32_t k = 0; k < execbuf->buffer_count; k++) {
+      if (execbuf_bos[k]->flags & EXEC_OBJECT_PINNED)
+         assert(execbuf_bos[k]->offset == objects[k].offset);
       execbuf_bos[k]->offset = objects[k].offset;
+   }
 
    return VK_SUCCESS;
 }