[Mesa-dev] [PATCH 2/2] i965: Enable scalar GS by default.

Iago Toral itoral at igalia.com
Tue May 10 10:07:21 UTC 2016


On Tue, 2016-05-10 at 00:46 -0700, Kenneth Graunke wrote:
> I'd originally left this off because Orbital Explorer was hanging the
> GPU, but it seems to be working these days.  There have been a bunch
> of changes since then, so we probably fixed something.
> 
> On my Broadwell laptop, both Synmark/GSCloth and Orbital Explorer seem
> to run at approximately the same framerate in either mode.  This is
> despite large reductions in instruction count for Synmark, and large
> increases for Orbital Explorer.  It apparently just doesn't matter.
> 
> Switching to scalar mode will gain us fp64 support in the next release,
> as vec4-mode support isn't yet ready.

I have been seeing a few regressions with scalar GS in BDW comparing it to the non-scalar case. For example,
with scalar GS I get:

bin/shader_runner ./tests/spec/glsl-1.50/execution/redeclare-pervertex-subset-vs-to-gs.shader_test 

shader_runner: brw_fs_nir.cpp:1771: void
fs_visitor::emit_gs_input_load(const fs_reg&, const nir_src&, unsigned
int, const nir_src&, unsigned int): Assertion `imm_offset == 0' failed.
Aborted

Similar case for a bunch of other GS test cases. These seem to pass fine
otherwise. Are these known problems? What's the plan for these if we
enable scalar GS by default?

> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/mesa/drivers/dri/i965/brw_compiler.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> This needs the 3 patch series this is in reply to.
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_compiler.c b/src/mesa/drivers/dri/i965/brw_compiler.c
> index 9977d79..987516d 100644
> --- a/src/mesa/drivers/dri/i965/brw_compiler.c
> +++ b/src/mesa/drivers/dri/i965/brw_compiler.c
> @@ -157,7 +157,7 @@ brw_compiler_create(void *mem_ctx, const struct brw_device_info *devinfo)
>     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", false);
> +      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;
>  




More information about the mesa-dev mailing list