diff --git a/src/gallium/drivers/freedreno/driinfo_freedreno.h b/src/gallium/drivers/freedreno/driinfo_freedreno.h index a23b865ebd4..304262c3f90 100644 --- a/src/gallium/drivers/freedreno/driinfo_freedreno.h +++ b/src/gallium/drivers/freedreno/driinfo_freedreno.h @@ -3,3 +3,7 @@ DRI_CONF_SECTION_MISCELLANEOUS DRI_CONF_DISABLE_CONSERVATIVE_LRZ(false) DRI_CONF_SECTION_END + +DRI_CONF_SECTION_DEBUG + DRI_CONF_DISABLE_THROTTLING(false) +DRI_CONF_SECTION_END diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index 0df23c38c25..e6b1cb3980d 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -573,6 +573,8 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return is_a6xx(screen); case PIPE_CAP_TWO_SIDED_COLOR: return 0; + case PIPE_CAP_THROTTLE: + return screen->driconf.enable_throttling; default: return u_pipe_screen_get_param_defaults(pscreen, param); } @@ -1110,6 +1112,8 @@ fd_screen_create(int fd, screen->driconf.conservative_lrz = !driQueryOptionb(config->options, "disable_conservative_lrz"); + screen->driconf.enable_throttling = + !driQueryOptionb(config->options, "disable_throttling"); struct sysinfo si; sysinfo(&si); diff --git a/src/gallium/drivers/freedreno/freedreno_screen.h b/src/gallium/drivers/freedreno/freedreno_screen.h index 23affe622f4..466e203d670 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.h +++ b/src/gallium/drivers/freedreno/freedreno_screen.h @@ -92,6 +92,10 @@ struct fd_screen { * suffer a performance loss with conservative LRZ. */ bool conservative_lrz; + + /* Enable EGL throttling (default true). + */ + bool enable_throttling; } driconf; const struct fd_dev_info *info; diff --git a/src/gallium/drivers/virgl/virgl_driinfo.h.in b/src/gallium/drivers/virgl/virgl_driinfo.h.in index 301247b35ec..17e728b1920 100644 --- a/src/gallium/drivers/virgl/virgl_driinfo.h.in +++ b/src/gallium/drivers/virgl/virgl_driinfo.h.in @@ -20,3 +20,8 @@ DRI_CONF_SECTION_MISCELLANEOUS */ DRI_CONF_DISABLE_CONSERVATIVE_LRZ(false) DRI_CONF_SECTION_END + +DRI_CONF_SECTION_DEBUG + /* Also needed for native-context drivers (freedreno) */ + DRI_CONF_DISABLE_THROTTLING(false) +DRI_CONF_SECTION_END \ No newline at end of file