mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2026-08-24 22:55:39 +00:00
test: Add more gen3 render blitters
... and we have a winner: gen3_mixed_blits reproduces the issue Daniel Vetter originally found. It seems clear that we have some incoherence between the RENDER and BLT units on gen3 that no amount of MI_FLUSH can hide. Hmmm.... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
@@ -438,45 +438,52 @@ int main(int argc, char **argv)
|
||||
start += 1024 * 1024 / 4;
|
||||
}
|
||||
|
||||
printf("Verifying initialisation...\n");
|
||||
printf("Verifying initialisation..."); fflush(stdout);
|
||||
for (i = 0; i < count; i++)
|
||||
check_bo(fd, handle[i], start_val[i]);
|
||||
printf("done\n");
|
||||
|
||||
printf("Cyclic blits, forward...\n");
|
||||
for (i = 0; i < count * 4; i++) {
|
||||
printf("Cyclic blits, forward..."); fflush(stdout);
|
||||
for (i = 0; i < count * 32; i++) {
|
||||
int src = i % count;
|
||||
int dst = (i + 1) % count;
|
||||
|
||||
copy(fd, handle[dst], handle[src]);
|
||||
start_val[dst] = start_val[src];
|
||||
}
|
||||
printf("verifying..."); fflush(stdout);
|
||||
for (i = 0; i < count; i++)
|
||||
check_bo(fd, handle[i], start_val[i]);
|
||||
printf("done\n");
|
||||
|
||||
printf("Cyclic blits, backward...\n");
|
||||
for (i = 0; i < count * 4; i++) {
|
||||
printf("Cyclic blits, backward..."); fflush(stdout);
|
||||
for (i = 0; i < count * 32; i++) {
|
||||
int src = (i + 1) % count;
|
||||
int dst = i % count;
|
||||
|
||||
copy(fd, handle[dst], handle[src]);
|
||||
start_val[dst] = start_val[src];
|
||||
}
|
||||
printf("verifying..."); fflush(stdout);
|
||||
for (i = 0; i < count; i++)
|
||||
check_bo(fd, handle[i], start_val[i]);
|
||||
printf("done\n");
|
||||
|
||||
printf("Random blits...\n");
|
||||
for (i = 0; i < count * 4; i++) {
|
||||
printf("Random blits..."); fflush(stdout);
|
||||
for (i = 0; i < count * 32; i++) {
|
||||
int src = random() % count;
|
||||
int dst = random() % count;
|
||||
|
||||
if (src == dst)
|
||||
continue;
|
||||
while (src == dst)
|
||||
dst = random() % count;
|
||||
|
||||
copy(fd, handle[dst], handle[src]);
|
||||
start_val[dst] = start_val[src];
|
||||
}
|
||||
printf("verifying..."); fflush(stdout);
|
||||
for (i = 0; i < count; i++)
|
||||
check_bo(fd, handle[i], start_val[i]);
|
||||
printf("done\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user