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.
This commit is contained in:
Chia-I Wu 2014-02-20 16:57:05 +08:00
parent 409add30b3
commit cb8a0d2be1
2 changed files with 8 additions and 2 deletions

View file

@ -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);
}

View file

@ -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);
}