From 6489af145ca2a21db049abf45c10608ad4372976 Mon Sep 17 00:00:00 2001 From: Qiang Yu Date: Thu, 28 Apr 2022 10:26:13 +0800 Subject: [PATCH] mesa: enable HardwareAcceleratedSelect MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Could be enabled/disabled by MESA_HW_ACCEL_SELECT. Reviewed-by: Marek Olšák Signed-off-by: Qiang Yu Part-of: --- 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; }