summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/sis
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/sis')
-rw-r--r--src/mesa/drivers/dri/sis/sis_tex.c4
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 e2b7e93b80..a97bed833a 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;