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.Stream3VertexReadOffset = urb_entry_read_offset;
|
||||
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);
|
||||
|
Reference in New Issue
Block a user