[Mesa-dev] [PATCH 3/4] st/mesa: add ARB_texture_stencil8 enable
Ilia Mirkin
imirkin at alum.mit.edu
Sun Apr 5 06:05:18 PDT 2015
On Sun, Apr 5, 2015 at 8:52 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Sun, Apr 5, 2015 at 2:48 AM, Dave Airlie <airlied at gmail.com> wrote:
>> if we support stencil texturing, enable texture_stencil8
>> there is no requirement to support native S8 for this,
>> the texture can be converted to x24s8 fine.
>>
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> ---
>> src/mesa/state_tracker/st_extensions.c | 8 +++++++-
>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
>> index bc20f73..1867bf3 100644
>> --- a/src/mesa/state_tracker/st_extensions.c
>> +++ b/src/mesa/state_tracker/st_extensions.c
>> @@ -502,6 +502,8 @@ void st_init_extensions(struct pipe_screen *screen,
>> { { o(ARB_depth_buffer_float) },
>> { PIPE_FORMAT_Z32_FLOAT,
>> PIPE_FORMAT_Z32_FLOAT_S8X24_UINT } },
>> + { { o(ARB_texture_stencil8) },
>> + { PIPE_FORMAT_S8_UINT } },
>> };
>>
>> /* Required: sampler support */
>> @@ -558,7 +560,8 @@ void st_init_extensions(struct pipe_screen *screen,
>>
>> { { o(ARB_stencil_texturing) },
>> { PIPE_FORMAT_X24S8_UINT,
>> - PIPE_FORMAT_S8X24_UINT },
>> + PIPE_FORMAT_S8X24_UINT,
>> + PIPE_FORMAT_S8_UINT },
>
> S8_UINT has nothing to do with ARB_stencil_texturing -- that's just
> about packed depth stencil.
>
>> GL_TRUE }, /* at least one format must be supported */
>> };
>>
>> @@ -650,6 +653,9 @@ void st_init_extensions(struct pipe_screen *screen,
>> ARRAY_SIZE(vertex_mapping), PIPE_BUFFER,
>> PIPE_BIND_VERTEX_BUFFER);
>>
>> + if (extensions->ARB_stencil_texturing)
>> + extensions->ARB_texture_stencil8 = GL_TRUE;
>
> Where do you set texobj->StencilTexturing = true to support this?
Also don't you need to manually disable e.g. the depth test, since
gallium will be receiving a Z24S8 texture.
More information about the mesa-dev
mailing list