mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-13 02:46:23 +00:00
lib/drmtest: extract gem_set_domain and gem_sync
gem_sync just does a gtt sync by using set_domain(GTT, GTT). Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
a7a80c2c2f
commit
673e6b220a
@ -169,3 +169,22 @@ void gem_read(int fd, uint32_t handle, uint32_t offset, void *buf, uint32_t leng
|
|||||||
assert(ret == 0);
|
assert(ret == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void gem_set_domain(int fd, uint32_t handle,
|
||||||
|
uint32_t read_domains, uint32_t write_domain)
|
||||||
|
{
|
||||||
|
struct drm_i915_gem_set_domain set_domain;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
set_domain.handle = handle;
|
||||||
|
set_domain.read_domains = read_domains;
|
||||||
|
set_domain.write_domain = write_domain;
|
||||||
|
|
||||||
|
ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
|
||||||
|
assert(ret == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void gem_sync(int fd, uint32_t handle)
|
||||||
|
{
|
||||||
|
gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -41,3 +41,6 @@ void gem_set_tiling(int fd, uint32_t handle, int tiling, int stride);
|
|||||||
void gem_close(int fd, uint32_t handle);
|
void gem_close(int fd, uint32_t handle);
|
||||||
void gem_write(int fd, uint32_t handle, uint32_t offset, const void *buf, uint32_t size);
|
void gem_write(int fd, uint32_t handle, uint32_t offset, const void *buf, uint32_t size);
|
||||||
void gem_read(int fd, uint32_t handle, uint32_t offset, void *buf, uint32_t size);
|
void gem_read(int fd, uint32_t handle, uint32_t offset, void *buf, uint32_t size);
|
||||||
|
void gem_set_domain(int fd, uint32_t handle,
|
||||||
|
uint32_t read_domains, uint32_t write_domain);
|
||||||
|
void gem_sync(int fd, uint32_t handle);
|
||||||
|
@ -137,17 +137,6 @@ static int gem_linear_blt(uint32_t *batch,
|
|||||||
return (b+2 - batch) * sizeof(uint32_t);
|
return (b+2 - batch) * sizeof(uint32_t);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gem_sync(int fd, uint32_t handle)
|
|
||||||
{
|
|
||||||
struct drm_i915_gem_set_domain set_domain;
|
|
||||||
|
|
||||||
set_domain.handle = handle;
|
|
||||||
set_domain.read_domains = I915_GEM_DOMAIN_GTT;
|
|
||||||
set_domain.write_domain = I915_GEM_DOMAIN_GTT;
|
|
||||||
|
|
||||||
drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int gem_exec(int fd, struct drm_i915_gem_execbuffer2 *execbuf, int loops)
|
static int gem_exec(int fd, struct drm_i915_gem_execbuffer2 *execbuf, int loops)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
@ -162,17 +162,6 @@ static int gem_linear_blt(uint32_t *batch,
|
|||||||
return (b+2 - batch) * sizeof(uint32_t);
|
return (b+2 - batch) * sizeof(uint32_t);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gem_sync(int fd, uint32_t handle)
|
|
||||||
{
|
|
||||||
struct drm_i915_gem_set_domain set_domain;
|
|
||||||
|
|
||||||
set_domain.handle = handle;
|
|
||||||
set_domain.read_domains = I915_GEM_DOMAIN_GTT;
|
|
||||||
set_domain.write_domain = I915_GEM_DOMAIN_GTT;
|
|
||||||
|
|
||||||
drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gem_exec(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
|
static void gem_exec(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -55,17 +55,6 @@ static uint32_t gem_create(int fd, int size)
|
|||||||
return create.handle;
|
return create.handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gem_sync(int fd, uint32_t handle)
|
|
||||||
{
|
|
||||||
struct drm_i915_gem_set_domain set_domain;
|
|
||||||
|
|
||||||
set_domain.handle = handle;
|
|
||||||
set_domain.read_domains = I915_GEM_DOMAIN_GTT;
|
|
||||||
set_domain.write_domain = I915_GEM_DOMAIN_GTT;
|
|
||||||
|
|
||||||
drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
|
|
||||||
}
|
|
||||||
|
|
||||||
static double elapsed(const struct timeval *start,
|
static double elapsed(const struct timeval *start,
|
||||||
const struct timeval *end,
|
const struct timeval *end,
|
||||||
int loop)
|
int loop)
|
||||||
|
@ -58,7 +58,6 @@ bo_create (int fd)
|
|||||||
{
|
{
|
||||||
struct drm_i915_gem_create create;
|
struct drm_i915_gem_create create;
|
||||||
struct drm_i915_gem_set_tiling tiling;
|
struct drm_i915_gem_set_tiling tiling;
|
||||||
struct drm_i915_gem_set_domain domain;
|
|
||||||
struct drm_i915_gem_mmap_gtt mmap_arg;
|
struct drm_i915_gem_mmap_gtt mmap_arg;
|
||||||
void *ptr;
|
void *ptr;
|
||||||
int handle;
|
int handle;
|
||||||
@ -88,12 +87,7 @@ bo_create (int fd)
|
|||||||
assert (ptr != MAP_FAILED);
|
assert (ptr != MAP_FAILED);
|
||||||
|
|
||||||
/* XXX: mmap_gtt pulls the bo into the GTT read domain. */
|
/* XXX: mmap_gtt pulls the bo into the GTT read domain. */
|
||||||
memset(&domain, 0, sizeof(domain));
|
gem_sync(fd, handle);
|
||||||
domain.handle = handle;
|
|
||||||
domain.read_domains = I915_GEM_DOMAIN_GTT;
|
|
||||||
domain.write_domain = I915_GEM_DOMAIN_GTT;
|
|
||||||
ret = ioctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &domain);
|
|
||||||
assert (ret == 0);
|
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
@ -79,17 +79,6 @@ static double elapsed(const struct timeval *start,
|
|||||||
return (1e6*(end->tv_sec - start->tv_sec) + (end->tv_usec - start->tv_usec))/loop;
|
return (1e6*(end->tv_sec - start->tv_sec) + (end->tv_usec - start->tv_usec))/loop;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gem_sync(int fd, uint32_t handle)
|
|
||||||
{
|
|
||||||
struct drm_i915_gem_set_domain set_domain;
|
|
||||||
|
|
||||||
set_domain.handle = handle;
|
|
||||||
set_domain.read_domains = I915_GEM_DOMAIN_GTT;
|
|
||||||
set_domain.write_domain = I915_GEM_DOMAIN_GTT;
|
|
||||||
|
|
||||||
drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
struct timeval start, end;
|
struct timeval start, end;
|
||||||
|
@ -57,15 +57,7 @@ static uint32_t gem_create(int fd, int size)
|
|||||||
|
|
||||||
static void set_domain(int fd, uint32_t handle)
|
static void set_domain(int fd, uint32_t handle)
|
||||||
{
|
{
|
||||||
struct drm_i915_gem_set_domain set_domain;
|
gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
|
||||||
int ret;
|
|
||||||
|
|
||||||
set_domain.handle = handle;
|
|
||||||
set_domain.read_domains = I915_GEM_DOMAIN_GTT;
|
|
||||||
set_domain.write_domain = I915_GEM_DOMAIN_GTT;
|
|
||||||
|
|
||||||
ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
|
|
||||||
assert(ret == 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
|
@ -190,20 +190,8 @@ void keep_gpu_busy(void)
|
|||||||
|
|
||||||
static void set_to_cpu_domain(struct scratch_buf *buf, int writing)
|
static void set_to_cpu_domain(struct scratch_buf *buf, int writing)
|
||||||
{
|
{
|
||||||
struct drm_i915_gem_set_domain set_domain;
|
gem_set_domain(drm_fd, buf->bo->handle, I915_GEM_DOMAIN_CPU,
|
||||||
int ret;
|
writing ? I915_GEM_DOMAIN_CPU : 0);
|
||||||
|
|
||||||
set_domain.handle = buf->bo->handle;
|
|
||||||
set_domain.read_domains = I915_GEM_DOMAIN_CPU;
|
|
||||||
if (writing)
|
|
||||||
set_domain.write_domain = I915_GEM_DOMAIN_CPU;
|
|
||||||
else
|
|
||||||
set_domain.write_domain = 0;
|
|
||||||
|
|
||||||
ret = drmIoctl(drm_fd,
|
|
||||||
DRM_IOCTL_I915_GEM_SET_DOMAIN,
|
|
||||||
&set_domain);
|
|
||||||
assert(ret == 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int copyfunc_seq = 0;
|
static unsigned int copyfunc_seq = 0;
|
||||||
|
@ -96,15 +96,7 @@ static uint32_t gem_vmap(int fd, void *ptr, int size, int read_only)
|
|||||||
|
|
||||||
static void gem_vmap_sync(int fd, uint32_t handle)
|
static void gem_vmap_sync(int fd, uint32_t handle)
|
||||||
{
|
{
|
||||||
struct drm_i915_gem_set_domain set_domain;
|
gem_set_domain(fd, handle, I915_GEM_DOMAIN_CPU, I915_GEM_DOMAIN_CPU);
|
||||||
int ret;
|
|
||||||
|
|
||||||
set_domain.handle = handle;
|
|
||||||
set_domain.read_domains = I915_GEM_DOMAIN_CPU;
|
|
||||||
set_domain.write_domain = I915_GEM_DOMAIN_CPU;
|
|
||||||
|
|
||||||
ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
|
|
||||||
assert(ret == 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint64_t
|
static uint64_t
|
||||||
|
Loading…
x
Reference in New Issue
Block a user