tests/kms_fbc_crc: extract fill_mmap_{cpu,gtt}()

Just like we have fill_render() and fill_blt(). I'm also going to use
fill_mmap_gtt() for the code that generates the reference CRCs.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
This commit is contained in:
Paulo Zanoni 2015-05-07 13:50:17 -03:00
parent b3faeb16fe
commit 31906084de

View File

@ -190,6 +190,29 @@ static void fill_render(data_t *data, uint32_t handle,
gem_bo_busy(data->drm_fd, handle); gem_bo_busy(data->drm_fd, handle);
} }
static void fill_mmap_cpu(data_t *data, uint32_t handle, unsigned char color)
{
void *ptr;
ptr = gem_mmap__cpu(data->drm_fd, handle, 0, 4096, PROT_WRITE);
gem_set_domain(data->drm_fd, handle, I915_GEM_DOMAIN_CPU,
I915_GEM_DOMAIN_CPU);
memset(ptr, color, 4);
munmap(ptr, 4096);
gem_sw_finish(data->drm_fd, handle);
}
static void fill_mmap_gtt(data_t *data, uint32_t handle, unsigned char color)
{
void *ptr;
ptr = gem_mmap__gtt(data->drm_fd, handle, 4096, PROT_WRITE);
gem_set_domain(data->drm_fd, handle, I915_GEM_DOMAIN_GTT,
I915_GEM_DOMAIN_GTT);
memset(ptr, color, 4);
munmap(ptr, 4096);
}
static bool fbc_enabled(data_t *data) static bool fbc_enabled(data_t *data)
{ {
FILE *status; FILE *status;
@ -237,24 +260,16 @@ static void test_crc(data_t *data, enum test_mode mode)
} }
switch (mode) { switch (mode) {
void *ptr;
drm_intel_context *context = NULL; drm_intel_context *context = NULL;
case TEST_PAGE_FLIP: case TEST_PAGE_FLIP:
break; break;
case TEST_MMAP_CPU: case TEST_MMAP_CPU:
case TEST_PAGE_FLIP_AND_MMAP_CPU: case TEST_PAGE_FLIP_AND_MMAP_CPU:
ptr = gem_mmap__cpu(data->drm_fd, handle, 0, 4096, PROT_WRITE); fill_mmap_cpu(data, handle, 0xff);
gem_set_domain(data->drm_fd, handle, I915_GEM_DOMAIN_CPU, I915_GEM_DOMAIN_CPU);
memset(ptr, 0xff, 4);
munmap(ptr, 4096);
gem_sw_finish(data->drm_fd, handle);
break; break;
case TEST_MMAP_GTT: case TEST_MMAP_GTT:
case TEST_PAGE_FLIP_AND_MMAP_GTT: case TEST_PAGE_FLIP_AND_MMAP_GTT:
ptr = gem_mmap__gtt(data->drm_fd, handle, 4096, PROT_WRITE); fill_mmap_gtt(data, handle, 0xff);
gem_set_domain(data->drm_fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
memset(ptr, 0xff, 4);
munmap(ptr, 4096);
break; break;
case TEST_BLT: case TEST_BLT:
case TEST_PAGE_FLIP_AND_BLT: case TEST_PAGE_FLIP_AND_BLT: