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