[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