diff options
Diffstat (limited to 'src/mesa/drivers/dri/sis')
-rw-r--r-- | src/mesa/drivers/dri/sis/sis_tex.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/sis/sis_tex.c b/src/mesa/drivers/dri/sis/sis_tex.c index e2b7e93b807..a97bed833a2 100644 --- a/src/mesa/drivers/dri/sis/sis_tex.c +++ b/src/mesa/drivers/dri/sis/sis_tex.c @@ -380,6 +380,7 @@ static void sisTexImage1D( GLcontext *ctx, GLenum target, GLint level, sisAllocTexImage(smesa, t, level, texImage); /* Upload the texture */ + WaitEngIdle(smesa); memcpy(t->image[level].Data, texImage->Data, t->image[level].size); if (smesa->PrevTexFormat[ctx->Texture.CurrentUnit] != t->format) @@ -422,6 +423,7 @@ static void sisTexSubImage1D( GLcontext *ctx, sisAllocTexImage(smesa, t, level, texImage); /* Upload the texture */ + WaitEngIdle(smesa); texelBytes = texImage->TexFormat->TexelBytes; copySize = width * texelBytes; @@ -465,6 +467,7 @@ static void sisTexImage2D( GLcontext *ctx, GLenum target, GLint level, sisAllocTexImage(smesa, t, level, texImage); /* Upload the texture */ + WaitEngIdle(smesa); memcpy(t->image[level].Data, texImage->Data, t->image[level].size); if (smesa->PrevTexFormat[ctx->Texture.CurrentUnit] != t->format) @@ -508,6 +511,7 @@ static void sisTexSubImage2D( GLcontext *ctx, sisAllocTexImage(smesa, t, level, texImage); /* Upload the texture */ + WaitEngIdle(smesa); texelBytes = texImage->TexFormat->TexelBytes; copySize = width * texelBytes; |