anv: implement occlusion query related Wa_14017076903
Fixes artifacts on some games that relied on occlusion query results when no PS or depth buffers are bound. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21721>
This commit is contained in:
@@ -1089,6 +1089,17 @@ emit_3dstate_streamout(struct anv_graphics_pipeline *pipeline,
|
|||||||
so.Stream2VertexReadLength = urb_entry_read_length - 1;
|
so.Stream2VertexReadLength = urb_entry_read_length - 1;
|
||||||
so.Stream3VertexReadOffset = urb_entry_read_offset;
|
so.Stream3VertexReadOffset = urb_entry_read_offset;
|
||||||
so.Stream3VertexReadLength = urb_entry_read_length - 1;
|
so.Stream3VertexReadLength = urb_entry_read_length - 1;
|
||||||
|
|
||||||
|
#if INTEL_NEEDS_WA_14017076903
|
||||||
|
/* Wa_14017076903 : SOL should be programmed to force the
|
||||||
|
* rendering to be enabled.
|
||||||
|
*
|
||||||
|
* This fixes a rare case where SOL must render to get correct
|
||||||
|
* occlusion query results even when no PS and depth buffers are
|
||||||
|
* bound.
|
||||||
|
*/
|
||||||
|
so.ForceRendering = Force_on;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
GENX(3DSTATE_STREAMOUT_pack)(NULL, pipeline->gfx8.streamout_state, &so);
|
GENX(3DSTATE_STREAMOUT_pack)(NULL, pipeline->gfx8.streamout_state, &so);
|
||||||
|
|||||||
Reference in New Issue
Block a user