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