Mesa (main): d3d12: switch to NIR loop unrolling
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue May 17 02:41:46 UTC 2022
Module: Mesa
Branch: main
Commit: 2a2a2e58d1c6707a6e13204baf8f43e6641f5da7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a2a2e58d1c6707a6e13204baf8f43e6641f5da7
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date: Fri May 6 11:30:30 2022 +1000
d3d12: switch to NIR loop unrolling
Reviewed-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543>
---
src/gallium/drivers/d3d12/d3d12_screen.cpp | 4 +---
src/microsoft/compiler/nir_to_dxil.c | 2 ++
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/d3d12/d3d12_screen.cpp b/src/gallium/drivers/d3d12/d3d12_screen.cpp
index 73c02514459..5eb38b40be1 100644
--- a/src/gallium/drivers/d3d12/d3d12_screen.cpp
+++ b/src/gallium/drivers/d3d12/d3d12_screen.cpp
@@ -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:
diff --git a/src/microsoft/compiler/nir_to_dxil.c b/src/microsoft/compiler/nir_to_dxil.c
index ae07e28cf5a..3e39ceeaeec 100644
--- a/src/microsoft/compiler/nir_to_dxil.c
+++ b/src/microsoft/compiler/nir_to_dxil.c
@@ -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*
More information about the mesa-commit
mailing list