[Mesa-dev] [PATCH 04/10] i965/fs: Allow an execution size of 32.

Jason Ekstrand jason at jlekstrand.net
Fri Apr 17 11:25:09 PDT 2015


On Tue, Apr 14, 2015 at 4:15 PM, Matt Turner <mattst88 at gmail.com> wrote:
> In a few commits, we'll start emitting an add(32) instruction on some
> platforms.
> ---
>  src/mesa/drivers/dri/i965/brw_eu_emit.c        | 2 +-
>  src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 7 ++-----
>  2 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c
> index 706b66b..44b9ffb 100644
> --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c
> +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c
> @@ -213,7 +213,7 @@ validate_reg(const struct brw_context *brw, brw_inst *inst, struct brw_reg reg)
>     const int hstride_for_reg[] = {0, 1, 2, 4};
>     const int vstride_for_reg[] = {0, 1, 2, 4, 8, 16, 32};
>     const int width_for_reg[] = {1, 2, 4, 8, 16};
> -   const int execsize_for_reg[] = {1, 2, 4, 8, 16};
> +   const int execsize_for_reg[] = {1, 2, 4, 8, 16, 32};
>     int width, hstride, vstride, execsize;
>
>     if (reg.file == BRW_IMMEDIATE_VALUE) {
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
> index a62ba03..102923a 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
> @@ -1602,11 +1602,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
>        brw_set_default_saturate(p, inst->saturate);
>        brw_set_default_mask_control(p, inst->force_writemask_all);
>        brw_set_default_acc_write_control(p, inst->writes_accumulator);
> -
> -      if (dispatch_width == 16 && !inst->force_uncompressed)
> -         brw_set_default_exec_size(p, BRW_EXECUTE_16);
> -      else
> -         brw_set_default_exec_size(p, BRW_EXECUTE_8);
> +      brw_set_default_exec_size(p, cvt(inst->exec_size) - 1);

Does this belong in the previous patch?  It seems like it would fit
better there.

>
>        switch (inst->exec_size) {
>        case 1:
> @@ -1623,6 +1619,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
>           }
>           break;
>        case 16:
> +      case 32:
>           brw_set_default_compression_control(p, BRW_COMPRESSION_COMPRESSED);
>           break;
>        default:
> --
> 2.0.5
>
> _______________________________________________
> 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