[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