i965: Preserve EXEC_OBJECT_CAPTURE when growing the BO.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 28 Nov 2017 16:59:07 +0000 (08:59 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 30 Nov 2017 01:30:35 +0000 (17:30 -0800)
The original state buffer was marked with EXEC_OBJECT_CAPTURE.  When
growing it, we want to preserve that flag so we continue to capture it
in GPU hang reports.

Fixes: 2dfc119f22f257082ab0 "i965: Grow the batch/state buffers if we need space and can't flush."
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/dri/i965/intel_batchbuffer.c

index 658f7ea69890502db938948c3c9a8ad8c8bd1039..337bb65cb47b1bc0b209d956346ded9f6e9d98a7 100644 (file)
@@ -313,9 +313,12 @@ grow_buffer(struct brw_context *brw,
     * This guarantees that our relocations continue to work: values we've
     * already written into the buffer, values we're going to write into the
     * buffer, and the validation/relocation lists all will match.
+    *
+    * Also preserve kflags for EXEC_OBJECT_CAPTURE.
     */
    new_bo->gtt_offset = old_bo->gtt_offset;
    new_bo->index = old_bo->index;
+   new_bo->kflags = old_bo->kflags;
 
    /* Batch/state buffers are per-context, and if we've run out of space,
     * we must have actually used them before, so...they will be in the list.