[Mesa-dev] [PATCH 5/5] llvmpipe: disable simple_shader optimization
Alex Deucher
alexdeucher at gmail.com
Tue May 21 15:19:58 PDT 2013
On Tue, May 21, 2013 at 6:12 PM, <sroland at vmware.com> wrote:
> From: Roland Scheidegger <sroland at vmware.com>
>
> This optimization disabled mask checks if the shader is simple enough.
> While this should work correctly, the problem is that it can hide real issues
> because shaders in practice are usually complex enough (8 instructions or 1
> texture is already enough) so this doesn't get used, whereas dumbed-down
> tests which should hit all the same code paths suddenly do something quite
> different. This was the reason that bug 41787 could not be easily tracked as
> stencil test not working correctly (piglit would in fact have failed some
> tests without that optimization).
> So disable it for now, it's unclear if it's much of a win in any case.
> ---
> src/gallium/drivers/llvmpipe/lp_state_fs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c
> index 9661273..b06f915 100644
> --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c
> +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c
> @@ -247,7 +247,7 @@ generate_fs_loop(struct gallivm_state *gallivm,
> struct lp_build_mask_context mask;
> boolean simple_shader = (shader->info.base.file_count[TGSI_FILE_SAMPLER] == 0 &&
> shader->info.base.num_inputs < 3 &&
> - shader->info.base.num_instructions < 8);
> + shader->info.base.num_instructions < 8) && 0;
Maybe add a comment here as per your commit message as to why it's disabled.
Alex
> const boolean dual_source_blend = key->blend.rt[0].blend_enable &&
> util_blend_state_is_dual(&key->blend, 0);
> unsigned attrib;
> --
> 1.7.9.5
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list