The PIPELINE_SELECT command has a number of awkward restrictions we
don't currently take into account while switching between the GPGPU
and 3D pipeline, what in some cases can lead to corruption or hangs.
This series should implement all workarounds mentioned in the hardware
spec ("BXML » GT » MI » vol1a GPU Overview » [Instruction]
PIPELINE_SELECT [DevBWR+]") that seem to be relevant to us.

 [PATCH 1/6] i965: Add state bit to trigger re-emission of color calculator 
state.
 [PATCH 2/6] i965/gen8+: Invalidate color calc state when switching to the 
GPGPU pipeline.
 [PATCH 3/6] i965/gen6-7: Implement stall and flushes required prior to 
switching pipelines.
 [PATCH 4/6] i965/gen4-5: Emit MI_FLUSH as required prior to switching 
pipelines.
 [PATCH 5/6] i965/gen7: Emit stall and dummy primitive draw after switching to 
the 3D pipeline.
 [PATCH 6/6] i965/gen7.5+: Disable resource streamer during GPGPU workloads.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to