1
0
mirror of https://github.com/Yours3lf/rpi-vk-driver.git synced 2025-02-19 16:54:18 +01:00

added cl submit

This commit is contained in:
Unknown 2018-05-13 19:28:29 +01:00
parent 96e2977856
commit a7918ba249
2 changed files with 25 additions and 0 deletions

View File

@ -432,3 +432,27 @@ void* vc4_bo_map(int fd, uint32_t bo, uint32_t size)
return map;
}
void vc4_cl_submit(int fd, struct drm_vc4_submit_cl submit, uint64_t* lastEmittedSeqno, uint64_t* lastFinishedSeqno)
{
int ret = drmIoctl(fd, DRM_IOCTL_VC4_SUBMIT_CL, &submit);
static int warned = 0;
if (ret && !warned) {
printf("Draw call returned %s. "
"Expect corruption.\n", strerror(errno));
warned = 1;
} else if (!ret) {
*lastEmittedSeqno = submit.seqno;
}
if (*lastEmittedSeqno - *lastFinishedSeqno > 5) {
uint64_t seqno = *lastFinishedSeqno - 5;
if (!vc4_seqno_wait(fd,
&seqno,
WAIT_TIMEOUT_INFINITE))
{
printf("Job throttling failed\n");
}
}
}

View File

@ -53,6 +53,7 @@ void vc4_bo_purgeable(int fd, uint32_t bo, int hasMadvise);
void vc4_bo_label(int fd, uint32_t bo, const char* name);
int vc4_bo_get_dmabuf(int fd, uint32_t bo);
void* vc4_bo_map(int fd, uint32_t bo, uint32_t size);
void vc4_cl_submit(int fd, struct drm_vc4_submit_cl submit, uint64_t* lastEmittedSeqno, uint64_t* lastFinishedSeqno);
//TODO perfmon