Quoting Kenneth Graunke (2018-06-04 11:18:37) > On pre-4.13 kernels, which don't support I915_EXEC_BATCH_FIRST, we move > the validation list entry to the end...but incorrectly left the exec_bo > array alone, causing a mismatch where exec_bos[0] no longer corresponded > with validation_list[0] (and similarly for the last entry). > > One example of resulting breakage is that we'd update bo->gtt_offset > based on the wrong buffer. This wreaked total havoc when trying to use > softpin, and likely caused unnecessary relocations in the normal case. > > Fixes: 29ba502a4e28471f67e4e904ae503157087efd20 (i965: Use > I915_EXEC_BATCH_FIRST when available.)
Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk> One thing that may have helped is if we do the post-execbuf processing in submit_batch; execbuffer() then just becomes stuffing the pointers into struct drm_i915_gem_execbuffer2 and calling the ioctl. At the moment, it isn't clear where batch->exec_bos was being used again, as one expects it to be consumed by submit_batch(). -Chris _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev