Mesa (main): mesa: enable HardwareAcceleratedSelect

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jun 6 19:05:07 UTC 2022


Module: Mesa
Branch: main
Commit: 6489af145ca2a21db049abf45c10608ad4372976
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6489af145ca2a21db049abf45c10608ad4372976

Author: Qiang Yu <yuq825 at gmail.com>
Date:   Thu Apr 28 10:26:13 2022 +0800

mesa: enable HardwareAcceleratedSelect

Could be enabled/disabled by MESA_HW_ACCEL_SELECT.

Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Qiang Yu <yuq825 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15765>

---

 src/mesa/state_tracker/st_extensions.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index cd88922ed2a..759527f0afe 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -627,7 +627,17 @@ void st_init_limits(struct pipe_screen *screen,
    c->SparseTextureFullArrayCubeMipmaps =
       screen->get_param(screen, PIPE_CAP_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS);
 
-   c->HardwareAcceleratedSelect = false;
+   /* =0: on CPU, always disabled
+    * >0: on GPU, enable by default, user can disable it manually
+    * <0: unknown, disable by default, user can enable it manually
+    */
+   int accel = screen->get_param(screen, PIPE_CAP_ACCELERATED);
+   c->HardwareAcceleratedSelect =
+      accel && debug_get_bool_option("MESA_HW_ACCEL_SELECT", accel > 0) &&
+      /* internal geometry shader need indirect array access */
+      !c->ShaderCompilerOptions[MESA_SHADER_GEOMETRY].EmitNoIndirectTemp &&
+      /* internal geometry shader need SSBO support */
+      c->Program[MESA_SHADER_GEOMETRY].MaxShaderStorageBlocks;
 }
 
 



More information about the mesa-commit mailing list