[Mesa-dev] [PATCH 4/7] i965: Add support for Z16 depth formats.

Chad Versace chad.versace at linux.intel.com
Mon Nov 28 14:37:35 PST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 11/23/2011 12:37 PM, Eric Anholt wrote:
> This is required by GL 3.0's Required Texture Formats section.  All
> the other code for this format in hardware was already in place.
> ---
>  src/mesa/drivers/dri/i965/brw_vtbl.c             |    3 ++-
>  src/mesa/drivers/dri/i965/brw_wm_surface_state.c |    1 +
>  2 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_vtbl.c b/src/mesa/drivers/dri/i965/brw_vtbl.c
> index dd2e05a..a3a8d09 100644
> --- a/src/mesa/drivers/dri/i965/brw_vtbl.c
> +++ b/src/mesa/drivers/dri/i965/brw_vtbl.c
> @@ -215,7 +215,8 @@ static bool brw_is_hiz_depth_format(struct intel_context *intel,
>                                      gl_format format)
>  {
>     /* In the future, this will support Z_FLOAT32. */
> -   return intel->has_hiz && (format == MESA_FORMAT_X8_Z24);
> +   return intel->has_hiz && (format == MESA_FORMAT_X8_Z24 ||
> +			     format == MESA_FORMAT_Z16);
>  }

This will break applications that use a GLX visual with 16 depth bits because the
horrid DRI2 handshake expects that only X8_Z24 buffers will have HiZ. That's a bug
with the DRI2 handshake, however, and not this patch.

Yet another reason that piglit_init() needs to be restructured so that differenct GLX
visuals can be used.

>  void brwInitVtbl( struct brw_context *brw )
> diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> index 0f6abe2..d51fdac 100644
> --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> @@ -547,6 +547,7 @@ brw_init_surface_formats(struct brw_context *brw)
>      */
>     ctx->TextureFormatSupported[MESA_FORMAT_S8_Z24] = true;
>     ctx->TextureFormatSupported[MESA_FORMAT_X8_Z24] = true;
> +   ctx->TextureFormatSupported[MESA_FORMAT_Z16] = true;
>  }
>  
>  bool

I grepped around, and it looks like this is really all that is needed.

Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

- ----
Chad Versace
chad.versace at linux.intel.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJO1A0uAAoJEAIvNt057x8iiBEQAI35TmIOA5NQ2i3sLud2CUCb
slqakA5GkBUfFEwgAhWIpDsYj26fg9V06lnPr62yz0ZmLnR4+BUHXHUQfewpT1iC
N+PbU8AaubXzTQAStev58wpF/Gjv9ixt2y7KpsZFkNudv+AXoiiRhHl4XkS+2lHB
UxZVo1XpHUA7qqUf/1h7R3acb33zA78+QD/2sPlo+/LHYEL2rdhL4589YBb3u3gh
08spnqx1jTHYGS4IOpJezTOlO7goWNuw3HXSvGCOIlO3iRgEdUPpp9YY5AFHKw8c
DEappAGkcWAJknbSgUHKH4bOicLwhJEsSe8Lylh7fvmwquwlrZ2+Apjqdoy4y89p
lsjQViAEziQzghDiInBgYdhOXvvj7uHnUyBxZpDid2iCLTWyRnxTKHplbqdiQu6C
ZQycUaqOJ21CMbAl4ePl6jWkXHqbhpJ/AmP/IWTyha2oEANyNrvgdPJSR3f7C0/D
rkp3lG3wyLOLNlmlXp/QWX2A+4F3qjoVjkCJGnaSerlEdmnI0Ug20E9VERLIHcLh
RM7S//SGm5/IFhNZxSyt6ChrRcu7jvU9Aj/tBP20RtvaVR1zTKr7MeYZMI8jTslh
MwVS5DdyGeuZK1TwFgWdpedbuLTQxr9KpjZvMrZFDbH4Qpq0092b7TMYL351IjKx
DyztsxbTC1AXJTyGqNYo
=1/UR
-----END PGP SIGNATURE-----


More information about the mesa-dev mailing list