R-b On Sat, May 13, 2017 at 12:14 PM, Kenneth Graunke <kenn...@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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev