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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user