v3d: Remove the special path for simulaton of the submit ioctl.
Now that it doesn't need to find the struct v3d_bos, it can just take the normal v3d_ioctl() path.
This commit is contained in:
parent
df9f574c13
commit
f32ba7abd7
|
@ -476,9 +476,6 @@ void v3d_query_init(struct pipe_context *pctx);
|
||||||
|
|
||||||
void v3d_simulator_init(struct v3d_screen *screen);
|
void v3d_simulator_init(struct v3d_screen *screen);
|
||||||
void v3d_simulator_destroy(struct v3d_screen *screen);
|
void v3d_simulator_destroy(struct v3d_screen *screen);
|
||||||
int v3d_simulator_flush(struct v3d_context *v3d,
|
|
||||||
struct drm_v3d_submit_cl *args,
|
|
||||||
struct v3d_job *job);
|
|
||||||
int v3d_simulator_ioctl(int fd, unsigned long request, void *arg);
|
int v3d_simulator_ioctl(int fd, unsigned long request, void *arg);
|
||||||
void v3d_simulator_open_from_handle(int fd, int handle, uint32_t size);
|
void v3d_simulator_open_from_handle(int fd, int handle, uint32_t size);
|
||||||
|
|
||||||
|
|
|
@ -406,11 +406,7 @@ v3d_job_submit(struct v3d_context *v3d, struct v3d_job *job)
|
||||||
if (!(V3D_DEBUG & V3D_DEBUG_NORAST)) {
|
if (!(V3D_DEBUG & V3D_DEBUG_NORAST)) {
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
#ifndef USE_V3D_SIMULATOR
|
ret = v3d_ioctl(v3d->fd, DRM_IOCTL_V3D_SUBMIT_CL, &job->submit);
|
||||||
ret = drmIoctl(v3d->fd, DRM_IOCTL_V3D_SUBMIT_CL, &job->submit);
|
|
||||||
#else
|
|
||||||
ret = v3d_simulator_flush(v3d, &job->submit, job);
|
|
||||||
#endif
|
|
||||||
static bool warned = false;
|
static bool warned = false;
|
||||||
if (ret && !warned) {
|
if (ret && !warned) {
|
||||||
fprintf(stderr, "Draw call returned %s. "
|
fprintf(stderr, "Draw call returned %s. "
|
||||||
|
|
|
@ -284,12 +284,9 @@ v3d_simulator_unpin_bos(struct v3d_simulator_file *file,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
static int
|
||||||
v3d_simulator_flush(struct v3d_context *v3d,
|
v3d_simulator_submit_cl_ioctl(int fd, struct drm_v3d_submit_cl *submit)
|
||||||
struct drm_v3d_submit_cl *submit, struct v3d_job *job)
|
|
||||||
{
|
{
|
||||||
struct v3d_screen *screen = v3d->screen;
|
|
||||||
int fd = screen->fd;
|
|
||||||
struct v3d_simulator_file *file = v3d_get_simulator_file_for_fd(fd);
|
struct v3d_simulator_file *file = v3d_get_simulator_file_for_fd(fd);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -298,9 +295,9 @@ v3d_simulator_flush(struct v3d_context *v3d,
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (sim_state.ver >= 41)
|
if (sim_state.ver >= 41)
|
||||||
v3d41_simulator_flush(sim_state.v3d, submit, file->gmp->ofs);
|
v3d41_simulator_submit_cl_ioctl(sim_state.v3d, submit, file->gmp->ofs);
|
||||||
else
|
else
|
||||||
v3d33_simulator_flush(sim_state.v3d, submit, file->gmp->ofs);
|
v3d33_simulator_submit_cl_ioctl(sim_state.v3d, submit, file->gmp->ofs);
|
||||||
|
|
||||||
ret = v3d_simulator_unpin_bos(file, submit);
|
ret = v3d_simulator_unpin_bos(file, submit);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
@ -407,6 +404,8 @@ int
|
||||||
v3d_simulator_ioctl(int fd, unsigned long request, void *args)
|
v3d_simulator_ioctl(int fd, unsigned long request, void *args)
|
||||||
{
|
{
|
||||||
switch (request) {
|
switch (request) {
|
||||||
|
case DRM_IOCTL_V3D_SUBMIT_CL:
|
||||||
|
return v3d_simulator_submit_cl_ioctl(fd, args);
|
||||||
case DRM_IOCTL_V3D_CREATE_BO:
|
case DRM_IOCTL_V3D_CREATE_BO:
|
||||||
return v3d_simulator_create_bo_ioctl(fd, args);
|
return v3d_simulator_create_bo_ioctl(fd, args);
|
||||||
case DRM_IOCTL_V3D_MMAP_BO:
|
case DRM_IOCTL_V3D_MMAP_BO:
|
||||||
|
|
|
@ -39,8 +39,9 @@ void v3dX(bcl_epilogue)(struct v3d_context *v3d, struct v3d_job *job);
|
||||||
void v3dX(simulator_init_regs)(struct v3d_hw *v3d);
|
void v3dX(simulator_init_regs)(struct v3d_hw *v3d);
|
||||||
int v3dX(simulator_get_param_ioctl)(struct v3d_hw *v3d,
|
int v3dX(simulator_get_param_ioctl)(struct v3d_hw *v3d,
|
||||||
struct drm_v3d_get_param *args);
|
struct drm_v3d_get_param *args);
|
||||||
void v3dX(simulator_flush)(struct v3d_hw *v3d, struct drm_v3d_submit_cl *submit,
|
void v3dX(simulator_submit_cl_ioctl)(struct v3d_hw *v3d,
|
||||||
uint32_t gmp_ofs);
|
struct drm_v3d_submit_cl *args,
|
||||||
|
uint32_t gmp_offset);
|
||||||
const struct v3d_format *v3dX(get_format_desc)(enum pipe_format f);
|
const struct v3d_format *v3dX(get_format_desc)(enum pipe_format f);
|
||||||
void v3dX(get_internal_type_bpp_for_output_format)(uint32_t format,
|
void v3dX(get_internal_type_bpp_for_output_format)(uint32_t format,
|
||||||
uint32_t *type,
|
uint32_t *type,
|
||||||
|
|
|
@ -139,7 +139,8 @@ v3dX(simulator_init_regs)(struct v3d_hw *v3d)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
v3dX(simulator_flush)(struct v3d_hw *v3d, struct drm_v3d_submit_cl *submit,
|
v3dX(simulator_submit_cl_ioctl)(struct v3d_hw *v3d,
|
||||||
|
struct drm_v3d_submit_cl *submit,
|
||||||
uint32_t gmp_ofs)
|
uint32_t gmp_ofs)
|
||||||
{
|
{
|
||||||
/* Completely reset the GMP. */
|
/* Completely reset the GMP. */
|
||||||
|
|
Loading…
Reference in New Issue