Mesa (main): lima: switch to NIR loop unrolling
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Jun 4 16:47:32 UTC 2022
Module: Mesa
Branch: main
Commit: bb2f97eb272a68fce582cebf78c53987024356af
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb2f97eb272a68fce582cebf78c53987024356af
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date: Fri May 6 11:44:31 2022 +1000
lima: switch to NIR loop unrolling
Reviewed-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366>
---
src/gallium/drivers/lima/ci/lima-fails.txt | 2 --
src/gallium/drivers/lima/lima_program.c | 2 ++
src/gallium/drivers/lima/lima_screen.c | 6 ++----
3 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/lima/ci/lima-fails.txt b/src/gallium/drivers/lima/ci/lima-fails.txt
index 8cc9dffab87..d61d5e9c6df 100644
--- a/src/gallium/drivers/lima/ci/lima-fails.txt
+++ b/src/gallium/drivers/lima/ci/lima-fails.txt
@@ -455,8 +455,6 @@ spec at glsl-1.10@execution at variable-indexing@vs-varying-mat4-row-wr,Fail
spec at glsl-1.10@execution at variable-indexing@vs-varying-mat4-wr,Fail
spec at glsl-1.10@glsl-fs-discard-only,Fail
spec at glsl-1.10@linker at glsl-link-varyings-3,Fail
-spec at glsl-1.20@execution at array_bounds@glsl-array-bounds-03,Fail
-spec at glsl-1.20@execution at array_bounds@glsl-array-bounds-07,Fail
spec at glsl-1.20@execution at built-in-functions@fs-op-assign-div-mat2x4-mat2x4,Fail
spec at glsl-1.20@execution at built-in-functions@fs-op-assign-div-mat3x2-mat3x2,Fail
spec at glsl-1.20@execution at built-in-functions@fs-op-assign-div-mat3x4-mat3x4,Fail
diff --git a/src/gallium/drivers/lima/lima_program.c b/src/gallium/drivers/lima/lima_program.c
index d971f01b35f..4a975f726fb 100644
--- a/src/gallium/drivers/lima/lima_program.c
+++ b/src/gallium/drivers/lima/lima_program.c
@@ -64,6 +64,7 @@ static const nir_shader_compiler_options vs_nir_options = {
.force_indirect_unrolling = nir_var_all,
.force_indirect_unrolling_sampler = true,
.lower_varying_from_uniform = true,
+ .max_unroll_iterations = 32,
};
static const nir_shader_compiler_options fs_nir_options = {
@@ -86,6 +87,7 @@ static const nir_shader_compiler_options fs_nir_options = {
.force_indirect_unrolling = (nir_var_shader_out | nir_var_function_temp),
.force_indirect_unrolling_sampler = true,
.lower_varying_from_uniform = true,
+ .max_unroll_iterations = 32,
};
const void *
diff --git a/src/gallium/drivers/lima/lima_screen.c b/src/gallium/drivers/lima/lima_screen.c
index 46db45bb74e..0ac69411c36 100644
--- a/src/gallium/drivers/lima/lima_screen.c
+++ b/src/gallium/drivers/lima/lima_screen.c
@@ -239,7 +239,7 @@ get_vertex_shader_param(struct lima_screen *screen,
return 256; /* need investigate */
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
- return 32;
+ return 0;
default:
return 0;
@@ -289,10 +289,8 @@ get_fragment_shader_param(struct lima_screen *screen,
case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR:
case PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR:
- return 0;
-
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
- return 32;
+ return 0;
default:
return 0;
More information about the mesa-commit
mailing list