[Mesa-dev] [PATCH 3/3] mesa/st: implement ARB_stencil_texturing

Marek Olšák maraeo at gmail.com
Sun May 4 04:14:45 PDT 2014


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

Marek

On Sat, May 3, 2014 at 11:25 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> If StencilSampling is enabled on the texture object, pass in an
> equivalent stencil-only format.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>
> This replaces my earlier series, based on a suggestion from Michel Dänzer on
> IRC. Much simpler, and enables it for pretty much all gallium drivers.
>
>  src/mesa/state_tracker/st_atom_texture.c | 4 ++++
>  src/mesa/state_tracker/st_extensions.c   | 5 +++++
>  2 files changed, 9 insertions(+)
>
> diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c
> index afc6d9d..928a4ff 100644
> --- a/src/mesa/state_tracker/st_atom_texture.c
> +++ b/src/mesa/state_tracker/st_atom_texture.c
> @@ -271,6 +271,10 @@ st_get_texture_sampler_view_from_stobj(struct st_context *st,
>
>     sv = st_texture_get_sampler_view(st, stObj);
>
> +   if (stObj->base.StencilSampling &&
> +       util_format_is_depth_and_stencil(format))
> +      format = util_format_stencil_only(format);
> +
>     /* if sampler view has changed dereference it */
>     if (*sv) {
>        if (check_sampler_swizzle(stObj, *sv) ||
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index 33cd129..12ba82d 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -507,6 +507,11 @@ void st_init_extensions(struct st_context *st)
>
>        { { o(OES_compressed_ETC1_RGB8_texture) },
>          { PIPE_FORMAT_ETC1_RGB8 } },
> +
> +      { { o(ARB_stencil_texturing) },
> +        { PIPE_FORMAT_X24S8_UINT,
> +          PIPE_FORMAT_S8X24_UINT },
> +        GL_TRUE }, /* at least one format must be supported */
>     };
>
>     /* Required: vertex fetch support. */
> --
> 1.8.3.2
>
> _______________________________________________
> 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