gem_exec_lut_handle: Fix presumed_offset to force relocation on full-ppgtt

If the object is at offset 0, quite likely using full-ppgtt, then the
presumed_offset set also to 0 causes the relocation to be skipped.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2016-04-16 17:15:38 +01:00
parent c84853ba32
commit 7bd2ac6642
2 changed files with 5 additions and 5 deletions

View File

@ -144,7 +144,7 @@ static int run(unsigned batch_size,
reloc[n].target_handle = target[n];
else
reloc[n].target_handle = objects[target[n]].handle;
reloc[n].presumed_offset = 0;
reloc[n].presumed_offset = -1;
}
gem_execbuf(fd, &execbuf);
@ -154,7 +154,7 @@ static int run(unsigned batch_size,
for (count = 0; count < 1000; count++) {
if ((flags & SKIP_RELOC) == 0) {
for (n = 0; n < num_relocs; n++)
reloc[n].presumed_offset = 0;
reloc[n].presumed_offset = -1;
if (flags & CYCLE_BATCH) {
c = (c + 1) % 16;
gem_exec[num_objects].handle = cycle[c];

View File

@ -165,7 +165,7 @@ igt_simple_main
for (j = 0; j < m; j++) {
target[j] = hars_petruska_f54_1_random() % n;
reloc[j].target_handle = target[j];
reloc[j].presumed_offset = 0;
reloc[j].presumed_offset = -1;
}
gem_execbuf(fd,&execbuf);
@ -173,7 +173,7 @@ igt_simple_main
for (count = 0; count < 1000; count++) {
if ((p->flags & SKIP_RELOC) == 0) {
for (j = 0; j < m; j++)
reloc[j].presumed_offset = 0;
reloc[j].presumed_offset = -1;
if (p->flags & CYCLE_BATCH) {
c = (c + 1) % 16;
gem_exec[MAX_NUM_EXEC].handle = cycle[c];
@ -203,7 +203,7 @@ igt_simple_main
for (count = 0; count < 1000; count++) {
if ((p->flags & SKIP_RELOC) == 0) {
for (j = 0; j < m; j++)
reloc[j].presumed_offset = 0;
reloc[j].presumed_offset = -1;
if (p->flags & CYCLE_BATCH) {
c = (c + 1) % 16;
gem_exec[MAX_NUM_EXEC].handle = cycle[c];