[Mesa-dev] [PATCH] glsl: enable early_fragment_tests implicitly with post_depth_coverage

Marek Olšák maraeo at gmail.com
Wed Feb 22 20:03:26 UTC 2017


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Wed, Feb 22, 2017 at 9:06 AM, Iago Toral Quiroga <itoral at igalia.com> wrote:
> From: Iago Toral Quiroga <itoral at atlantix-intelskylake.local.igalia.com>
>
> From ARB_post_depth_coverage:
>
>    "This extension allows the fragment shader to control whether values in
>     gl_SampleMaskIn[] reflect the coverage after application of the early
>     depth and stencil tests.  This feature can be enabled with the following
>     layout qualifier in the fragment shader:
>
>        layout(post_depth_coverage) in;
>
>     Use of this feature implicitly enables early fragment tests."
>
> And a bit later it also adds:
>
>    "early_fragment_tests" requests that fragment tests be performed before
>     fragment shader execution, as described in section 15.2.4 "Early Fragment
>     Tests" of the OpenGL Specification. If neither this nor post_depth_coverage
>     are declared, per-fragment tests will be performed after fragment shader
>     execution."
>
> Fixes:
> GL45-CTS.post_depth_coverage_tests.PostDepthSampleMask
> ---
>  src/compiler/glsl/linker.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
> index b6f8bc4..7343e4e 100644
> --- a/src/compiler/glsl/linker.cpp
> +++ b/src/compiler/glsl/linker.cpp
> @@ -1881,7 +1881,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
>        }
>
>        linked_shader->Program->info.fs.early_fragment_tests |=
> -         shader->EarlyFragmentTests;
> +         shader->EarlyFragmentTests || shader->PostDepthCoverage;
>        linked_shader->Program->info.fs.inner_coverage |= shader->InnerCoverage;
>        linked_shader->Program->info.fs.post_depth_coverage |=
>           shader->PostDepthCoverage;
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list