I sent one suggestion on patch 1.

Series: Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>

On Wed, Nov 20, 2013 at 2:29 PM, Paul Berry <stereotype...@gmail.com> wrote:
> From section 4.4.7 (Layered Framebuffers) of the GLSL 3.2 spec:
>
>     When the Clear or ClearBuffer* commands are used to clear a
>     layered framebuffer attachment, all layers of the attachment are
>     cleared.
>
> This patch fixes the fast depth clear path.
>
> Fixes piglit test "spec/!OpenGL 3.2/layered-rendering/clear-depth".
>
> Cc: "10.0" <mesa-sta...@lists.freedesktop.org>
> ---
>  src/mesa/drivers/dri/i965/brw_clear.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_clear.c 
> b/src/mesa/drivers/dri/i965/brw_clear.c
> index a727e6e..95a6490 100644
> --- a/src/mesa/drivers/dri/i965/brw_clear.c
> +++ b/src/mesa/drivers/dri/i965/brw_clear.c
> @@ -181,8 +181,16 @@ brw_fast_clear_depth(struct gl_context *ctx)
>      */
>     intel_batchbuffer_emit_mi_flush(brw);
>
> -   intel_hiz_exec(brw, mt, depth_irb->mt_level, depth_irb->mt_layer,
> -                 GEN6_HIZ_OP_DEPTH_CLEAR);
> +   if (fb->NumLayers > 0) {
> +      assert(fb->NumLayers == 
> depth_irb->mt->level[depth_irb->mt_level].depth);
> +      for (unsigned layer = 0; layer < fb->NumLayers; layer++) {
> +         intel_hiz_exec(brw, mt, depth_irb->mt_level, layer,
> +                        GEN6_HIZ_OP_DEPTH_CLEAR);
> +      }
> +   } else {
> +      intel_hiz_exec(brw, mt, depth_irb->mt_level, depth_irb->mt_layer,
> +                     GEN6_HIZ_OP_DEPTH_CLEAR);
> +   }
>
>     if (brw->gen == 6) {
>        /* From the Sandy Bridge PRM, volume 2 part 1, page 314:
> --
> 1.8.4.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to