sna/gen8+: Flush pipecontrols when forcing a pipeline stall
In order to actually stall the pipeline completely and to wait for earlier flushes to complete, we have to set a flag in the pipecontrol. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
f7f5ef714f
commit
81029be073
|
|
@ -1201,6 +1201,7 @@ gen8_emit_pipe_stall(struct sna *sna)
|
|||
{
|
||||
OUT_BATCH(GEN8_PIPE_CONTROL | (6 - 2));
|
||||
OUT_BATCH(PIPE_CONTROL_CS_STALL |
|
||||
PIPE_CONTROL_FLUSH |
|
||||
PIPE_CONTROL_STALL_AT_SCOREBOARD);
|
||||
OUT_BATCH64(0);
|
||||
OUT_BATCH64(0);
|
||||
|
|
|
|||
|
|
@ -335,6 +335,7 @@
|
|||
#define PIPE_CONTROL_IS_FLUSH (1 << 11)
|
||||
#define PIPE_CONTROL_TC_FLUSH (1 << 10)
|
||||
#define PIPE_CONTROL_NOTIFY_ENABLE (1 << 8)
|
||||
#define PIPE_CONTROL_FLUSH (1 << 7)
|
||||
#define PIPE_CONTROL_GLOBAL_GTT (1 << 2)
|
||||
#define PIPE_CONTROL_LOCAL_PGTT (0 << 2)
|
||||
#define PIPE_CONTROL_STALL_AT_SCOREBOARD (1 << 1)
|
||||
|
|
|
|||
|
|
@ -1211,6 +1211,7 @@ gen9_emit_pipe_stall(struct sna *sna)
|
|||
{
|
||||
OUT_BATCH(GEN9_PIPE_CONTROL | (6 - 2));
|
||||
OUT_BATCH(PIPE_CONTROL_CS_STALL |
|
||||
PIPE_CONTROL_FLUSH |
|
||||
PIPE_CONTROL_STALL_AT_SCOREBOARD);
|
||||
OUT_BATCH64(0);
|
||||
OUT_BATCH64(0);
|
||||
|
|
|
|||
|
|
@ -344,6 +344,7 @@
|
|||
#define PIPE_CONTROL_IS_FLUSH (1 << 11)
|
||||
#define PIPE_CONTROL_TC_FLUSH (1 << 10)
|
||||
#define PIPE_CONTROL_NOTIFY_ENABLE (1 << 8)
|
||||
#define PIPE_CONTROL_FLUSH (1 << 7)
|
||||
#define PIPE_CONTROL_GLOBAL_GTT (1 << 2)
|
||||
#define PIPE_CONTROL_LOCAL_PGTT (0 << 2)
|
||||
#define PIPE_CONTROL_STALL_AT_SCOREBOARD (1 << 1)
|
||||
|
|
|
|||
Loading…
Reference in New Issue