diff options
author | Eric Anholt <[email protected]> | 2018-11-02 12:33:04 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-11-02 14:26:38 -0700 |
commit | 0d78c6af0d0e24f0e3fa8465ed42587287d1cfc1 (patch) | |
tree | 90cdf7f1037c88e1332891d700017914cedaa02e /src/gallium/drivers | |
parent | c80e267a0a946959c8dc978413a8e8e31c497799 (diff) |
vc4: Use the normal simulator ioctl path for CL submit as well.
The simulator no longer needs to look back into the gallium structs.
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_context.h | 3 | ||||
-rw-r--r-- | src/gallium/drivers/vc4/vc4_job.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/vc4/vc4_simulator.c | 9 |
3 files changed, 5 insertions, 13 deletions
diff --git a/src/gallium/drivers/vc4/vc4_context.h b/src/gallium/drivers/vc4/vc4_context.h index 3f1dac3a2f0..8a8d3b6d5b0 100644 --- a/src/gallium/drivers/vc4/vc4_context.h +++ b/src/gallium/drivers/vc4/vc4_context.h @@ -486,9 +486,6 @@ void vc4_program_fini(struct pipe_context *pctx); void vc4_query_init(struct pipe_context *pctx); void vc4_simulator_init(struct vc4_screen *screen); void vc4_simulator_destroy(struct vc4_screen *screen); -int vc4_simulator_flush(struct vc4_context *vc4, - struct drm_vc4_submit_cl *args, - struct vc4_job *job); int vc4_simulator_ioctl(int fd, unsigned long request, void *arg); void vc4_simulator_open_from_handle(int fd, int handle, uint32_t size); diff --git a/src/gallium/drivers/vc4/vc4_job.c b/src/gallium/drivers/vc4/vc4_job.c index f38c4647541..2b87a00df0f 100644 --- a/src/gallium/drivers/vc4/vc4_job.c +++ b/src/gallium/drivers/vc4/vc4_job.c @@ -492,11 +492,7 @@ vc4_job_submit(struct vc4_context *vc4, struct vc4_job *job) if (!(vc4_debug & VC4_DEBUG_NORAST)) { int ret; -#ifndef USE_VC4_SIMULATOR - ret = drmIoctl(vc4->fd, DRM_IOCTL_VC4_SUBMIT_CL, &submit); -#else - ret = vc4_simulator_flush(vc4, &submit, job); -#endif + ret = vc4_ioctl(vc4->fd, DRM_IOCTL_VC4_SUBMIT_CL, &submit); static bool warned = false; if (ret && !warned) { fprintf(stderr, "Draw call returned %s. " diff --git a/src/gallium/drivers/vc4/vc4_simulator.c b/src/gallium/drivers/vc4/vc4_simulator.c index 46fed7bcdb8..2ce5a759633 100644 --- a/src/gallium/drivers/vc4/vc4_simulator.c +++ b/src/gallium/drivers/vc4/vc4_simulator.c @@ -364,12 +364,9 @@ vc4_dump_to_file(struct vc4_exec_info *exec) fclose(f); } -int -vc4_simulator_flush(struct vc4_context *vc4, - struct drm_vc4_submit_cl *args, struct vc4_job *job) +static int +vc4_simulator_submit_cl_ioctl(int fd, struct drm_vc4_submit_cl *args) { - struct vc4_screen *screen = vc4->screen; - int fd = screen->fd; struct vc4_simulator_file *file = vc4_get_simulator_file_for_fd(fd); struct vc4_exec_info exec; struct drm_device *dev = &file->dev; @@ -583,6 +580,8 @@ int vc4_simulator_ioctl(int fd, unsigned long request, void *args) { switch (request) { + case DRM_IOCTL_VC4_SUBMIT_CL: + return vc4_simulator_submit_cl_ioctl(fd, args); case DRM_IOCTL_VC4_CREATE_BO: return vc4_simulator_create_bo_ioctl(fd, args); case DRM_IOCTL_VC4_CREATE_SHADER_BO: |