gem_partial_pwrite_pread: Exercise different cacheing of the staging bo

This commit is contained in:
Chris Wilson 2013-08-06 15:09:50 +01:00
parent 24eade08ab
commit a661c098b0

View File

@ -253,6 +253,26 @@ static void test_partial_read_writes(void)
} }
} }
static void do_tests(int cache_level, const char *suffix)
{
char name[80];
if (cache_level != -1)
gem_set_cacheing(fd, scratch_bo->handle, cache_level);
snprintf(name, sizeof(name), "reads%s", suffix);
if (drmtest_run_subtest(name))
test_partial_reads();
snprintf(name, sizeof(name), "writes%s", suffix);
if (drmtest_run_subtest(name))
test_partial_writes();
snprintf(name, sizeof(name), "writes-after-reads%s", suffix);
if (drmtest_run_subtest(name))
test_partial_read_writes();
}
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
srandom(0xdeadbeef); srandom(0xdeadbeef);
@ -274,14 +294,11 @@ int main(int argc, char **argv)
drmtest_init_aperture_trashers(bufmgr); drmtest_init_aperture_trashers(bufmgr);
mappable_gtt_limit = gem_mappable_aperture_size(); mappable_gtt_limit = gem_mappable_aperture_size();
if (drmtest_run_subtest("reads")) do_tests(-1, "");
test_partial_reads();
if (drmtest_run_subtest("writes")) /* Repeat the tests using different levels of snooping */
test_partial_writes(); do_tests(0, "-uncached");
do_tests(1, "-snoop");
if (drmtest_run_subtest("writes-after-reads"))
test_partial_read_writes();
drmtest_cleanup_aperture_trashers(); drmtest_cleanup_aperture_trashers();
drm_intel_bufmgr_destroy(bufmgr); drm_intel_bufmgr_destroy(bufmgr);