[Mesa-dev] [PATCH 2/2] i965/fs: Use inst->eot rather than opcodes in register allocation.
Jordan Justen
jordan.l.justen at intel.com
Thu Feb 5 09:05:06 PST 2015
Series Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
On 2015-02-05 00:32:42, Kenneth Graunke wrote:
> Previously, we special cased FB writes and URB writes in the register
> allocation code. What we really wanted was to handle any message with
> EOT set.
>
> This saves us from extending the list with new opcodes in the future.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 21 ++++++++++-----------
> 1 file changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
> index 8a14ce4..bcd657b 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
> @@ -385,17 +385,6 @@ fs_visitor::setup_payload_interference(struct ra_graph *g,
>
> /* Special case instructions which have extra implied registers used. */
> switch (inst->opcode) {
> - case SHADER_OPCODE_URB_WRITE_SIMD8:
> - case FS_OPCODE_FB_WRITE:
> - /* We could omit this for the !inst->header_present case, except that
> - * the simulator apparently incorrectly reads from g0/g1 instead of
> - * sideband. It also really freaks out driver developers to see g0
> - * used in unusual places, so just always reserve it.
> - */
> - payload_last_use_ip[0] = use_ip;
> - payload_last_use_ip[1] = use_ip;
> - break;
> -
> case FS_OPCODE_LINTERP:
> /* On gen6+ in SIMD16, there are 4 adjacent registers used by
> * PLN's sourcing of the deltas, while we list only the first one
> @@ -417,6 +406,16 @@ fs_visitor::setup_payload_interference(struct ra_graph *g,
> break;
>
> default:
> + if (inst->eot) {
> + /* We could omit this for the !inst->header_present case, except
> + * that the simulator apparently incorrectly reads from g0/g1
> + * instead of sideband. It also really freaks out driver
> + * developers to see g0 used in unusual places, so just always
> + * reserve it.
> + */
> + payload_last_use_ip[0] = use_ip;
> + payload_last_use_ip[1] = use_ip;
> + }
> break;
> }
>
> --
> 2.2.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list