summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/gem_linear_blits.c7
-rw-r--r--tests/gem_tiled_blits.c7
-rw-r--r--tests/gem_tiled_fence_blits.c5
3 files changed, 19 insertions, 0 deletions
diff --git a/tests/gem_linear_blits.c b/tests/gem_linear_blits.c
index ae188ff8..14cf4f4b 100644
--- a/tests/gem_linear_blits.c
+++ b/tests/gem_linear_blits.c
@@ -248,6 +248,13 @@ int main(int argc, char **argv)
count = atoi(argv[1]);
if (count == 0)
count = 3 * gem_aperture_size(fd) / (1024*1024) / 2;
+
+ if (count > intel_get_total_ram_mb() * 9 / 10) {
+ count = intel_get_total_ram_mb() * 9 / 10;
+ fprintf(stderr, "not enough RAM to run test, reducing buffer count\n");
+ return 77;
+ }
+
printf("Using %d 1MiB buffers\n", count);
handle = malloc(sizeof(uint32_t)*count*2);
diff --git a/tests/gem_tiled_blits.c b/tests/gem_tiled_blits.c
index 54b2d400..8c48b760 100644
--- a/tests/gem_tiled_blits.c
+++ b/tests/gem_tiled_blits.c
@@ -144,6 +144,13 @@ int main(int argc, char **argv)
count = 3 * gem_aperture_size(fd) / (1024*1024) / 2;
count += (count & 1) == 0;
}
+
+ if (count > intel_get_total_ram_mb() * 9 / 10) {
+ count = intel_get_total_ram_mb() * 9 / 10;
+ fprintf(stderr, "not enough RAM to run test, reducing buffer count\n");
+ return 77;
+ }
+
printf("Using %d 1MiB buffers\n", count);
bo = malloc(sizeof(drm_intel_bo *)*count);
diff --git a/tests/gem_tiled_fence_blits.c b/tests/gem_tiled_fence_blits.c
index 9f41f7be..6d53bcd1 100644
--- a/tests/gem_tiled_fence_blits.c
+++ b/tests/gem_tiled_fence_blits.c
@@ -148,6 +148,11 @@ int main(int argc, char **argv)
fd = drm_open_any();
count = 3 * gem_aperture_size(fd) / (1024*1024) / 2;
+ if (count > intel_get_total_ram_mb() * 9 / 10) {
+ count = intel_get_total_ram_mb() * 9 / 10;
+ fprintf(stderr, "not enough RAM to run test, reducing buffer count\n");
+ return 77;
+ }
count |= 1;
printf("Using %d 1MiB buffers\n", count);