mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 23:40:10 +01:00
d3d12: switch to NIR loop unrolling
Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543>
This commit is contained in:
parent
c4295816af
commit
2a2a2e58d1
2 changed files with 3 additions and 3 deletions
|
|
@ -463,9 +463,6 @@ d3d12_get_shader_param(struct pipe_screen *pscreen,
|
|||
case PIPE_SHADER_CAP_TGSI_ANY_INOUT_DECL_RANGE:
|
||||
return 0; /* no idea */
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
|
||||
return 32; /* arbitrary */
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
|
||||
return
|
||||
(screen->max_feature_level >= D3D_FEATURE_LEVEL_11_1 ||
|
||||
|
|
@ -483,6 +480,7 @@ d3d12_get_shader_param(struct pipe_screen *pscreen,
|
|||
screen->opts.ResourceBindingTier >= D3D12_RESOURCE_BINDING_TIER_3) ?
|
||||
PIPE_MAX_SHADER_IMAGES : D3D12_PS_CS_UAV_REGISTER_COUNT;
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
|
||||
case PIPE_SHADER_CAP_LDEXP_SUPPORTED:
|
||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS:
|
||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS:
|
||||
|
|
|
|||
|
|
@ -129,6 +129,8 @@ nir_options = {
|
|||
nir_lower_dfloor |
|
||||
nir_lower_dceil |
|
||||
nir_lower_dround_even,
|
||||
.max_unroll_iterations = 32, /* arbitrary */
|
||||
.force_indirect_unrolling = (nir_var_shader_in | nir_var_shader_out | nir_var_function_temp),
|
||||
};
|
||||
|
||||
const nir_shader_compiler_options*
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue