[Mesa-dev] [PATCH] i965: Ignore INTEL_SCALAR_* debug variables on Gen10+.

Jason Ekstrand jason at jlekstrand.net
Sat May 13 20:05:57 UTC 2017


R-b

On Sat, May 13, 2017 at 12:14 PM, Kenneth Graunke <kenneth at whitecape.org>
wrote:

> Scalar mode has been default since Broadwell, and vector mode is getting
> increasingly unmaintained.  There are a few things that don't even fully
> work in vector mode on Skylake, but we've never cared because nobody
> uses it.  There's no point in porting it forward to new platforms.
>
> So, just ignore the debug options to force it on.
> ---
>  src/intel/compiler/brw_compiler.c | 26 ++++++++++++++++----------
>  1 file changed, 16 insertions(+), 10 deletions(-)
>
>  Only compile tested.
>
> diff --git a/src/intel/compiler/brw_compiler.c b/src/intel/compiler/brw_
> compiler.c
> index cd9473f9a3b..aa896b9a336 100644
> --- a/src/intel/compiler/brw_compiler.c
> +++ b/src/intel/compiler/brw_compiler.c
> @@ -112,16 +112,22 @@ brw_compiler_create(void *mem_ctx, const struct
> gen_device_info *devinfo)
>
>     compiler->precise_trig = env_var_as_boolean("INTEL_PRECISE_TRIG",
> false);
>
> -   compiler->scalar_stage[MESA_SHADER_VERTEX] =
> -      devinfo->gen >= 8 && !(INTEL_DEBUG & DEBUG_VEC4VS);
> -   compiler->scalar_stage[MESA_SHADER_TESS_CTRL] =
> -      devinfo->gen >= 8 && env_var_as_boolean("INTEL_SCALAR_TCS", true);
> -   compiler->scalar_stage[MESA_SHADER_TESS_EVAL] =
> -      devinfo->gen >= 8 && env_var_as_boolean("INTEL_SCALAR_TES", true);
> -   compiler->scalar_stage[MESA_SHADER_GEOMETRY] =
> -      devinfo->gen >= 8 && env_var_as_boolean("INTEL_SCALAR_GS", true);
> -   compiler->scalar_stage[MESA_SHADER_FRAGMENT] = true;
> -   compiler->scalar_stage[MESA_SHADER_COMPUTE] = true;
> +   if (devinfo->gen >= 10) {
> +      /* We don't support vec4 mode on Cannonlake. */
> +      for (int i = MESA_SHADER_VERTEX; i < MESA_SHADER_STAGES; i++)
> +         compiler->scalar_stage[i] = true;
> +   } else {
> +      compiler->scalar_stage[MESA_SHADER_VERTEX] =
> +         devinfo->gen >= 8 && !(INTEL_DEBUG & DEBUG_VEC4VS);
> +      compiler->scalar_stage[MESA_SHADER_TESS_CTRL] =
> +         devinfo->gen >= 8 && env_var_as_boolean("INTEL_SCALAR_TCS",
> true);
> +      compiler->scalar_stage[MESA_SHADER_TESS_EVAL] =
> +         devinfo->gen >= 8 && env_var_as_boolean("INTEL_SCALAR_TES",
> true);
> +      compiler->scalar_stage[MESA_SHADER_GEOMETRY] =
> +         devinfo->gen >= 8 && env_var_as_boolean("INTEL_SCALAR_GS",
> true);
> +      compiler->scalar_stage[MESA_SHADER_FRAGMENT] = true;
> +      compiler->scalar_stage[MESA_SHADER_COMPUTE] = true;
> +   }
>
>     /* We want the GLSL compiler to emit code that uses condition codes */
>     for (int i = 0; i < MESA_SHADER_STAGES; i++) {
> --
> 2.12.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170513/e75f637a/attachment.html>


More information about the mesa-dev mailing list