mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 11:10:10 +01:00
broadcom/vc4: Detect syncobj support
We need to know if the kernel supports syncobj submission since otherwise all the DRM syncobj calls fail. v2: Use drmGetCap to detect syncobj support (Eric) Signed-off-by: Stefan Schake <stschake@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
4fc0ebdff5
commit
9ed05e2520
2 changed files with 7 additions and 0 deletions
|
|
@ -659,7 +659,9 @@ struct pipe_screen *
|
|||
vc4_screen_create(int fd, struct renderonly *ro)
|
||||
{
|
||||
struct vc4_screen *screen = rzalloc(NULL, struct vc4_screen);
|
||||
uint64_t syncobj_cap = 0;
|
||||
struct pipe_screen *pscreen;
|
||||
int err;
|
||||
|
||||
pscreen = &screen->base;
|
||||
|
||||
|
|
@ -695,6 +697,10 @@ vc4_screen_create(int fd, struct renderonly *ro)
|
|||
screen->has_perfmon_ioctl =
|
||||
vc4_has_feature(screen, DRM_VC4_PARAM_SUPPORTS_PERFMON);
|
||||
|
||||
err = drmGetCap(fd, DRM_CAP_SYNCOBJ, &syncobj_cap);
|
||||
if (err == 0 && syncobj_cap)
|
||||
screen->has_syncobj = true;
|
||||
|
||||
if (!vc4_get_chip_info(screen))
|
||||
goto fail;
|
||||
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ struct vc4_screen {
|
|||
bool has_madvise;
|
||||
bool has_tiling_ioctl;
|
||||
bool has_perfmon_ioctl;
|
||||
bool has_syncobj;
|
||||
|
||||
struct vc4_simulator_file *sim_file;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue