Mesa (master): glsl_to_tgsi: lower small branches based on the CAP

Marek Olšák mareko at kemper.freedesktop.org
Tue Nov 15 19:39:39 UTC 2016


Module: Mesa
Branch: master
Commit: 537b897f51690aa11089bec0d82e89ca712b1469
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=537b897f51690aa11089bec0d82e89ca712b1469

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Oct 28 22:37:33 2016 +0200

glsl_to_tgsi: lower small branches based on the CAP

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 64a68e0..7f19839 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -6783,6 +6783,8 @@ st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
                                                    PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED);
       bool have_dfrexp = pscreen->get_shader_param(pscreen, ptarget,
                                                    PIPE_SHADER_CAP_TGSI_DFRACEXP_DLDEXP_SUPPORTED);
+      unsigned if_threshold = pscreen->get_shader_param(pscreen, ptarget,
+                                                        PIPE_SHADER_CAP_LOWER_IF_THRESHOLD);
 
       /* If there are forms of indirect addressing that the driver
        * cannot handle, perform the lowering pass.
@@ -6865,7 +6867,8 @@ st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
            || progress;
 
          progress = lower_if_to_cond_assign((gl_shader_stage)i, ir,
-                                            options->MaxIfDepth) || progress;
+                                            options->MaxIfDepth, if_threshold) ||
+                    progress;
 
       } while (progress);
 




More information about the mesa-commit mailing list