lima: switch to NIR loop unrolling

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366>
This commit is contained in:
Timothy Arceri 2022-05-06 11:44:31 +10:00 committed by Marge Bot
parent 9e1ce5de40
commit bb2f97eb27
3 changed files with 4 additions and 6 deletions

View File

@ -455,8 +455,6 @@ spec@glsl-1.10@execution@variable-indexing@vs-varying-mat4-row-wr,Fail
spec@glsl-1.10@execution@variable-indexing@vs-varying-mat4-wr,Fail
spec@glsl-1.10@glsl-fs-discard-only,Fail
spec@glsl-1.10@linker@glsl-link-varyings-3,Fail
spec@glsl-1.20@execution@array_bounds@glsl-array-bounds-03,Fail
spec@glsl-1.20@execution@array_bounds@glsl-array-bounds-07,Fail
spec@glsl-1.20@execution@built-in-functions@fs-op-assign-div-mat2x4-mat2x4,Fail
spec@glsl-1.20@execution@built-in-functions@fs-op-assign-div-mat3x2-mat3x2,Fail
spec@glsl-1.20@execution@built-in-functions@fs-op-assign-div-mat3x4-mat3x4,Fail

View File

@ -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 *

View File

@ -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;