mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
nouveau/nv30: disable GLSL IR loop unrolling
NIR loop unrolling is already enabled so just let it do its job. Shader-db results (nv40): total instructions in shared programs: 17446532 -> 17446068 (<.01%) instructions in affected programs: 15532 -> 15068 (-2.99%) total gpr in shared programs: 82658 -> 82801 (0.17%) gpr in affected programs: 1680 -> 1823 (8.51%) Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366>
This commit is contained in:
parent
bb2f97eb27
commit
fa3b6a3d32
1 changed files with 3 additions and 4 deletions
|
|
@ -345,10 +345,9 @@ nv30_screen_get_shader_param(struct pipe_screen *pscreen,
|
|||
return 1;
|
||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||
return (eng3d->oclass >= NV40_3D_CLASS) ? 32 : 13;
|
||||
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
|
||||
return 32;
|
||||
case PIPE_SHADER_CAP_PREFERRED_IR:
|
||||
return (NOUVEAU_DEBUG & NOUVEAU_DEBUG_USE_TGSI) ? PIPE_SHADER_IR_TGSI : PIPE_SHADER_IR_NIR;
|
||||
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
|
||||
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
|
||||
case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:
|
||||
return 0;
|
||||
|
|
@ -404,10 +403,9 @@ nv30_screen_get_shader_param(struct pipe_screen *pscreen,
|
|||
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
|
||||
case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:
|
||||
return 16;
|
||||
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
|
||||
return 32;
|
||||
case PIPE_SHADER_CAP_PREFERRED_IR:
|
||||
return (NOUVEAU_DEBUG & NOUVEAU_DEBUG_USE_TGSI) ? PIPE_SHADER_IR_TGSI : PIPE_SHADER_IR_NIR;
|
||||
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
|
||||
case PIPE_SHADER_CAP_CONT_SUPPORTED:
|
||||
case PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED:
|
||||
case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
|
||||
|
|
@ -496,6 +494,7 @@ static const nir_shader_compiler_options nv30_base_compiler_options = {
|
|||
.lower_rotate = true,
|
||||
.lower_uniforms_to_ubo = true,
|
||||
.lower_vector_cmp = true,
|
||||
.force_indirect_unrolling = nir_var_all,
|
||||
.force_indirect_unrolling_sampler = true,
|
||||
.max_unroll_iterations = 32,
|
||||
.no_integers = true,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue