From: Rob Clark Date: Wed, 29 Mar 2023 21:33:57 +0000 (-0700) Subject: freedreno: Support the disable_throttling=true driconf option X-Git-Tag: upstream/23.3.3~10613 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d698bf052349cdaf0580efde335d43069897304b;p=platform%2Fupstream%2Fmesa.git freedreno: Support the disable_throttling=true driconf option At this point, mostly just to make it easier to disable throttling for performance debugging. Signed-off-by: Rob Clark Part-of: --- diff --git a/src/gallium/drivers/freedreno/driinfo_freedreno.h b/src/gallium/drivers/freedreno/driinfo_freedreno.h index a23b865..304262c 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 0df23c3..e6b1cb3 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 23affe6..466e203 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 301247b..17e728b 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