panfrost: Don't unroll loops in GLSL
GLSL loop analysis is trouble. Just use NIR. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10392>
This commit is contained in:
committed by
Marge Bot
parent
8a4e735506
commit
0ec27d02e1
@@ -404,19 +404,15 @@ panfrost_get_shader_param(struct pipe_screen *screen,
|
||||
case PIPE_SHADER_CAP_SUPPORTED_IRS:
|
||||
return (1 << PIPE_SHADER_IR_NIR) | (1 << PIPE_SHADER_IR_NIR_SERIALIZED);
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
|
||||
return 32;
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
|
||||
return is_deqp ? 16 : 0;
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
|
||||
return (pan_is_bifrost(dev) && !is_deqp) ? 0 : PIPE_MAX_SHADER_IMAGES;
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
|
||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS:
|
||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS:
|
||||
return 0;
|
||||
|
||||
case PIPE_SHADER_CAP_TGSI_SKIP_MERGE_REGISTERS:
|
||||
case PIPE_SHADER_CAP_LOWER_IF_THRESHOLD:
|
||||
return 0;
|
||||
|
||||
@@ -90,6 +90,7 @@ static const nir_shader_compiler_options bifrost_nir_options = {
|
||||
|
||||
.has_cs_global_id = true,
|
||||
.lower_cs_local_index_from_id = true,
|
||||
.max_unroll_iterations = 32,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -92,6 +92,7 @@ static const nir_shader_compiler_options midgard_nir_options = {
|
||||
|
||||
.has_cs_global_id = true,
|
||||
.lower_cs_local_index_from_id = true,
|
||||
.max_unroll_iterations = 32,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user