[Mesa-dev] [PATCH 1/4] i965/fs: Make lower_load_payload etc. appear in INTEL_DEBUG=optimizer.
Jason Ekstrand
jason at jlekstrand.net
Fri Jan 16 07:01:47 PST 2015
Thanks for picking this up! I don't know that much about statement
expressions, so I'm giving this one an ACK only. 2 and 3 are Reviewed-by:
Jason Ekstrand <jason.ekstrand at intel.com>. I left some comments on 4 but
nothing functional.
On Jan 16, 2015 5:29 AM, "Kenneth Graunke" <kenneth at whitecape.org> wrote:
>
> In order to support calling lower_load_payload() inside a condition,
> this patch makes OPT() a statement expression:
>
> https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html
>
> We recently did the equivalent change in the vec4 backend (commit
> 9b8bd67768769b685c25e1276e053505aede5f93).
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> src/mesa/drivers/dri/i965/brw_fs.cpp | 18 +++++++++++-------
> 1 file changed, 11 insertions(+), 7 deletions(-)
>
> This was useful when debugging some stuff.
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp
b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 5d129fe..35639de 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -3543,7 +3543,7 @@ fs_visitor::optimize()
> assign_constant_locations();
> demote_pull_constants();
>
> -#define OPT(pass, args...) do { \
> +#define OPT(pass, args...) ({ \
> pass_num++; \
> bool this_progress = pass(args); \
> \
> @@ -3556,7 +3556,8 @@ fs_visitor::optimize()
> } \
> \
> progress = progress || this_progress; \
> - } while (false)
> + this_progress; \
> + })
>
> if (unlikely(INTEL_DEBUG & DEBUG_OPTIMIZER)) {
> char filename[64];
> @@ -3568,10 +3569,11 @@ fs_visitor::optimize()
>
> bool progress;
> int iteration = 0;
> + int pass_num = 0;
> do {
> progress = false;
> + pass_num = 0;
> iteration++;
> - int pass_num = 0;
>
> OPT(remove_duplicate_mrf_writes);
>
> @@ -3590,11 +3592,13 @@ fs_visitor::optimize()
> OPT(compact_virtual_grfs);
> } while (progress);
>
> - if (lower_load_payload()) {
> + pass_num = 0;
> +
> + if (OPT(lower_load_payload)) {
> split_virtual_grfs();
> - register_coalesce();
> - compute_to_mrf();
> - dead_code_eliminate();
> + OPT(register_coalesce);
> + OPT(compute_to_mrf);
> + OPT(dead_code_eliminate);
> }
>
> lower_uniform_pull_constant_loads();
> --
> 2.2.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150116/417be7d8/attachment.html>
More information about the mesa-dev
mailing list