Module: Mesa
Branch: master
Commit: cb8a0d2be1a50e2aa1cb82a33535f68d278ed8ca
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb8a0d2be1a50e2aa1cb82a33535f68d278ed8ca

Author: Chia-I Wu <olva...@gmail.com>
Date:   Thu Feb 20 16:57:05 2014 +0800

ilo: fix for stencil only rectlist ops

3DSTATE_STENCIL_BUFFER inherits some states from 3DSTATE_DEPTH_BUFFER.  We
need to emit both even the surface is stencil only.

---

 src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c |    5 ++++-
 src/gallium/drivers/ilo/ilo_3d_pipeline_gen7.c |    5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c 
b/src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c
index f7cd0d2..59623bc 100644
--- a/src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c
+++ b/src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c
@@ -1571,10 +1571,13 @@ gen6_rectlist_wm_depth(struct ilo_3d_pipeline *p,
 {
    gen6_wa_pipe_control_wm_depth_flush(p);
 
-   if (blitter->uses & ILO_BLITTER_USE_FB_DEPTH) {
+   if (blitter->uses & (ILO_BLITTER_USE_FB_DEPTH |
+                        ILO_BLITTER_USE_FB_STENCIL)) {
       gen6_emit_3DSTATE_DEPTH_BUFFER(p->dev,
             &blitter->fb.dst.u.zs, p->cp);
+   }
 
+   if (blitter->uses & ILO_BLITTER_USE_FB_DEPTH) {
       gen6_emit_3DSTATE_HIER_DEPTH_BUFFER(p->dev,
             &blitter->fb.dst.u.zs, p->cp);
    }
diff --git a/src/gallium/drivers/ilo/ilo_3d_pipeline_gen7.c 
b/src/gallium/drivers/ilo/ilo_3d_pipeline_gen7.c
index b345892..a1c8519 100644
--- a/src/gallium/drivers/ilo/ilo_3d_pipeline_gen7.c
+++ b/src/gallium/drivers/ilo/ilo_3d_pipeline_gen7.c
@@ -756,10 +756,13 @@ gen7_rectlist_wm_depth(struct ilo_3d_pipeline *p,
 {
    gen7_wa_pipe_control_wm_depth_stall(p, true);
 
-   if (blitter->uses & ILO_BLITTER_USE_FB_DEPTH) {
+   if (blitter->uses & (ILO_BLITTER_USE_FB_DEPTH |
+                        ILO_BLITTER_USE_FB_STENCIL)) {
       gen6_emit_3DSTATE_DEPTH_BUFFER(p->dev,
             &blitter->fb.dst.u.zs, p->cp);
+   }
 
+   if (blitter->uses & ILO_BLITTER_USE_FB_DEPTH) {
       gen6_emit_3DSTATE_HIER_DEPTH_BUFFER(p->dev,
             &blitter->fb.dst.u.zs, p->cp);
    }

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to