Mesa (master): ilo: fix for stencil only rectlist ops
Chia-I Wu
olv at kemper.freedesktop.org
Sat Feb 22 14:48:33 UTC 2014
Module: Mesa
Branch: master
Commit: cb8a0d2be1a50e2aa1cb82a33535f68d278ed8ca
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb8a0d2be1a50e2aa1cb82a33535f68d278ed8ca
Author: Chia-I Wu <olvaffe at 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);
}
More information about the mesa-commit
mailing list