diff options
-rw-r--r-- | src/sna/gen2_render.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/sna/gen2_render.c b/src/sna/gen2_render.c index aa315e68..9e851764 100644 --- a/src/sna/gen2_render.c +++ b/src/sna/gen2_render.c @@ -2546,10 +2546,22 @@ gen2_render_flush(struct sna *sna) gen2_vertex_flush(sna); } +static void +gen2_render_context_switch(struct kgem *kgem, + int new_mode) +{ + struct sna *sna = container_of(kgem, struct sna, kgem); + + /* Reload BLT registers following a lost context */ + sna->blt_state.fill_bo = 0; +} + Bool gen2_render_init(struct sna *sna) { struct sna_render *render = &sna->render; + sna->kgem.context_switch = gen2_render_context_switch; + /* Use the BLT (and overlay) for everything except when forced to * use the texture combiners. */ |