[Mesa-dev] [PATCH 03/10] i965: Simplify full scheduling-barrier conditions.

Francisco Jerez currojerez at riseup.net
Tue Mar 15 20:46:20 UTC 2016


Matt Turner <mattst88 at gmail.com> writes:

> All of these were simply code for "architecture register file" (and in
> the case of destinations, "not the null register").
> ---
>  .../drivers/dri/i965/brw_schedule_instructions.cpp | 35 +++++-----------------
>  1 file changed, 8 insertions(+), 27 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
> index 51d9ce1..2153898 100644
> --- a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
> @@ -964,10 +964,7 @@ fs_instruction_scheduler::calculate_deps()
>              }
>           } else if (inst->src[i].is_accumulator()) {
>              add_dep(last_accumulator_write, n);
> -         } else if (inst->src[i].file != BAD_FILE &&
> -                    inst->src[i].file != IMM &&
> -                    inst->src[i].file != UNIFORM) {
> -            assert(inst->src[i].file != MRF);
> +         } else if (inst->src[i].file == ARF) {
>              add_barrier_deps(n);
>           }
>        }
> @@ -1026,8 +1023,7 @@ fs_instruction_scheduler::calculate_deps()
>        } else if (inst->dst.is_accumulator()) {
>           add_dep(last_accumulator_write, n);
>           last_accumulator_write = n;
> -      } else if (inst->dst.file != BAD_FILE &&
> -                 !inst->dst.is_null()) {
> +      } else if (inst->dst.file == ARF && !inst->dst.is_null()) {
>           add_barrier_deps(n);
>        }
>  
> @@ -1080,10 +1076,7 @@ fs_instruction_scheduler::calculate_deps()
>              }
>           } else if (inst->src[i].is_accumulator()) {
>              add_dep(n, last_accumulator_write, 0);
> -         } else if (inst->src[i].file != BAD_FILE &&
> -                    inst->src[i].file != IMM &&
> -                    inst->src[i].file != UNIFORM) {
> -            assert(inst->src[i].file != MRF);
> +         } else if (inst->src[i].file == ARF) {
>              add_barrier_deps(n);
>           }
>        }
> @@ -1140,8 +1133,7 @@ fs_instruction_scheduler::calculate_deps()
>           }
>        } else if (inst->dst.is_accumulator()) {
>           last_accumulator_write = n;
> -      } else if (inst->dst.file != BAD_FILE &&
> -                 !inst->dst.is_null()) {
> +      } else if (inst->dst.file == ARF && !inst->dst.is_null()) {
>           add_barrier_deps(n);
>        }
>  
> @@ -1204,12 +1196,7 @@ vec4_instruction_scheduler::calculate_deps()
>           } else if (inst->src[i].is_accumulator()) {
>              assert(last_accumulator_write);
>              add_dep(last_accumulator_write, n);
> -         } else if (inst->src[i].file != BAD_FILE &&
> -                    inst->src[i].file != IMM &&
> -                    inst->src[i].file != UNIFORM) {
> -            /* No reads from MRF, and ATTR is already translated away */
> -            assert(inst->src[i].file != MRF &&
> -                   inst->src[i].file != ATTR);
> +         } else if (inst->src[i].file == ARF) {
>              add_barrier_deps(n);
>           }
>        }
> @@ -1248,8 +1235,7 @@ vec4_instruction_scheduler::calculate_deps()
>        } else if (inst->dst.is_accumulator()) {
>           add_dep(last_accumulator_write, n);
>           last_accumulator_write = n;
> -      } else if (inst->dst.file != BAD_FILE &&
> -                 !inst->dst.is_null()) {
> +      } else if (inst->dst.file == ARF && !inst->dst.is_null()) {
>           add_barrier_deps(n);
>        }
>  
> @@ -1291,11 +1277,7 @@ vec4_instruction_scheduler::calculate_deps()
>              add_dep(n, last_fixed_grf_write);
>           } else if (inst->src[i].is_accumulator()) {
>              add_dep(n, last_accumulator_write);
> -         } else if (inst->src[i].file != BAD_FILE &&
> -                    inst->src[i].file != IMM &&
> -                    inst->src[i].file != UNIFORM) {
> -            assert(inst->src[i].file != MRF &&
> -                   inst->src[i].file != ATTR);
> +         } else if (inst->src[i].file == ARF) {
>              add_barrier_deps(n);
>           }
>        }
> @@ -1330,8 +1312,7 @@ vec4_instruction_scheduler::calculate_deps()
>           last_fixed_grf_write = n;
>        } else if (inst->dst.is_accumulator()) {
>           last_accumulator_write = n;
> -      } else if (inst->dst.file != BAD_FILE &&
> -                 !inst->dst.is_null()) {
> +      } else if (inst->dst.file == ARF && !inst->dst.is_null()) {
>           add_barrier_deps(n);
>        }
>  

Reviewed-by: Francisco Jerez <currojerez at riseup.net>

> -- 
> 2.4.10
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160315/fe3bce1a/attachment.sig>


More information about the mesa-dev mailing list