[Mesa-dev] [PATCH 2/4] mesa: finish implementing ARB_texture_stencil8
Kenneth Graunke
kenneth at whitecape.org
Sun Apr 5 20:31:55 PDT 2015
On Sunday, April 05, 2015 04:48:48 PM Dave Airlie wrote:
> Parts of this were implemented previously, so finish it off.
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
> src/mesa/main/extensions.c | 1 +
> src/mesa/main/teximage.c | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
> index f212015..eea1ade 100644
> --- a/src/mesa/main/extensions.c
> +++ b/src/mesa/main/extensions.c
> @@ -185,6 +185,7 @@ static const struct extension extension_table[] = {
> { "GL_ARB_texture_rectangle", o(NV_texture_rectangle), GL, 2004 },
> { "GL_ARB_texture_rgb10_a2ui", o(ARB_texture_rgb10_a2ui), GL, 2009 },
> { "GL_ARB_texture_rg", o(ARB_texture_rg), GL, 2008 },
> + { "GL_ARB_texture_stencil8", o(ARB_texture_stencil8), GL, 2013 },
> { "GL_ARB_texture_storage", o(dummy_true), GL, 2011 },
> { "GL_ARB_texture_storage_multisample", o(ARB_texture_multisample), GL, 2012 },
> { "GL_ARB_texture_view", o(ARB_texture_view), GL, 2012 },
> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
> index 36e0b56..faca801 100644
> --- a/src/mesa/main/teximage.c
> +++ b/src/mesa/main/teximage.c
> @@ -1997,7 +1997,8 @@ _mesa_legal_texture_base_format_for_target(struct gl_context *ctx,
> const char *caller)
You should update the comment above this function.
> {
> if (_mesa_base_tex_format(ctx, internalFormat) == GL_DEPTH_COMPONENT
> - || _mesa_base_tex_format(ctx, internalFormat) == GL_DEPTH_STENCIL) {
> + || _mesa_base_tex_format(ctx, internalFormat) == GL_DEPTH_STENCIL
> + || _mesa_base_tex_format(ctx, internalFormat) == GL_STENCIL_INDEX) {
> /* Section 3.8.3 (Texture Image Specification) of the OpenGL 3.3 Core
> * Profile spec says:
> *
>
This seems insufficient to me. It think at minimum need to add code to
the following places:
- test_attachment_completeness
- _mesa_choose_tex_format
- _mesa_base_tex_format
At least, that's what I did in my earlier attempt:
http://cgit.freedesktop.org/~kwg/mesa/commit/?h=stencil-texture&id=131e0f1bc70fa286df67f1ede8c4671bd6c88053
http://cgit.freedesktop.org/~kwg/mesa/commit/?h=stencil-texture&id=7fc34cd005e9059a9876c2d37ed90cef056adf92
The reason I abandoned the effort was because the extension introduces a
zillion new places you can use stencil textures - or places that use
textures and now hit stencil textures - and doing a proper job meant
writing Piglit tests for a lot of those.
For example...GetTexImage? FBO stencil attachments? GenerateMipmaps?
Multisampled stencil textures? (Yes, that's a thing now! Hooray :/)
I'm sure nobody's driver gets any of that wrong...
--Ken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150405/2bd4766b/attachment.sig>
More information about the mesa-dev
mailing list