summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2014-10-28 19:49:44 +0100
committerMarek Olšák <[email protected]>2014-10-28 23:20:51 +0100
commit6fcb5520b78cdf1e5013c125501932315a069955 (patch)
tree4b24d5f7e4fd28443e882700649ea103ead99966
parentb7186ebea996072ed519ebae3fac8210941ce607 (diff)
Revert "st/mesa: set MaxUnrollIterations = 255"
This reverts commit 20836c81851e0df29a8ee9c86e5e5388738c840b. 255 is a huge number. If you have a loop with 255 iterations, unrolling it will exceed the SM3 instruction limit. Let's use the default again. The comment about a SM3 limit doesn't make sense. For SM3, we generally want 32 (default) or a lower number due to the SM3 instruction limit, which is 512 instructions. For SM4, we can try higher numbers if needed, but some shaders can end up being pretty huge and shader compilation can take more time. This fixes a shader compile failure on R500/SM3. Reported on IRC. Cc: 10.2 10.3 <[email protected]> Reviewed-by: Brian Paul <[email protected]>
-rw-r--r--src/mesa/state_tracker/st_extensions.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index aff3ddebe13..bdfab8b41e7 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -241,8 +241,7 @@ void st_init_limits(struct pipe_screen *screen,
if (options->EmitNoLoops)
options->MaxUnrollIterations = MIN2(screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_INSTRUCTIONS), 65536);
- else
- options->MaxUnrollIterations = 255; /* SM3 limit */
+
options->LowerClipDistance = true;
}