diff --git a/dlls/ddraw/d3ddevice/mesa.c b/dlls/ddraw/d3ddevice/mesa.c index 0d7e54dcf61ab242dcadbd4726603d223e641e50..c27ed046c071f157882af678f8957e68588d9fb1 100644 --- a/dlls/ddraw/d3ddevice/mesa.c +++ b/dlls/ddraw/d3ddevice/mesa.c @@ -107,6 +107,7 @@ static DWORD d3ddevice_set_state_for_flush(IDirect3DDeviceImpl *d3d_dev, LPCRECT glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); } else { glBindTexture(GL_TEXTURE_2D, gl_d3d_dev->unlock_tex); + *initial = FALSE; } if (d3d_dev->tex_mat_is_identity[0] == FALSE) { glMatrixMode(GL_TEXTURE); @@ -2821,7 +2822,7 @@ d3ddevice_blt(IDirectDrawSurfaceImpl *This, LPRECT rdst, GLenum prev_draw; WINE_GL_BUFFER_TYPE src_buffer_type; IDirect3DDeviceGLImpl *gl_d3d_dev = (IDirect3DDeviceGLImpl *) This->d3ddevice; - BOOLEAN initial = FALSE; + BOOLEAN initial; DWORD opt_bitmap; int x, y; @@ -2941,7 +2942,7 @@ d3ddevice_blt(IDirectDrawSurfaceImpl *This, LPRECT rdst, int width, height; GLenum prev_draw; IDirect3DDeviceGLImpl *gl_d3d_dev = (IDirect3DDeviceGLImpl *) This->d3ddevice; - BOOLEAN initial = FALSE; + BOOLEAN initial; DWORD opt_bitmap; int x, y; double x_stretch, y_stretch; @@ -3514,7 +3515,7 @@ static void d3ddevice_flush_to_frame_buffer(IDirect3DDeviceImpl *d3d_dev, LPCREC RECT loc_rect; IDirect3DDeviceGLImpl* gl_d3d_dev = (IDirect3DDeviceGLImpl*) d3d_dev; int x, y; - BOOLEAN initial = FALSE; + BOOLEAN initial; DWORD opt_bitmap; /* Note : no need here to lock the 'device critical section' as we are already protected by diff --git a/dlls/ddraw/d3dtexture.c b/dlls/ddraw/d3dtexture.c index 6e78c7b854616d570fc9f4530fce75ba7b7e9073..fba177ee7419a2f762609c122a07abc161b3b997 100644 --- a/dlls/ddraw/d3dtexture.c +++ b/dlls/ddraw/d3dtexture.c @@ -270,6 +270,7 @@ gltex_upload_texture(IDirectDrawSurfaceImpl *surf_ptr, IDirect3DDeviceImpl *d3dd upload_surface_to_tex_memory(NULL, 0, 0, &(gl_surf_ptr->surface_ptr)); upload_surface_to_tex_memory_release(); gl_surf_ptr->dirty_flag = SURFACE_MEMORY; + gl_surf_ptr->initial_upload_done = TRUE; } else { ERR("Problem for upload of texture %d (level = %d / initial done = %d).\n", gl_surf_ptr->tex_name, surf_ptr->mipmap_level, gl_surf_ptr->initial_upload_done); @@ -393,6 +394,7 @@ gltex_bltfast(IDirectDrawSurfaceImpl *surf_ptr, DWORD dstx, upload_surface_to_tex_memory(NULL, 0, 0, &(gl_surf_ptr->surface_ptr)); upload_surface_to_tex_memory_release(); gl_surf_ptr->dirty_flag = SURFACE_MEMORY; + gl_surf_ptr->initial_upload_done = TRUE; } else { glBindTexture(GL_TEXTURE_2D, cur_tex); LEAVE_GL(); @@ -408,6 +410,7 @@ gltex_bltfast(IDirectDrawSurfaceImpl *surf_ptr, DWORD dstx, upload_surface_to_tex_memory(NULL, 0, 0, &(gl_surf_ptr->surface_ptr)); upload_surface_to_tex_memory_release(); gl_surf_ptr->dirty_flag = SURFACE_MEMORY; + gl_surf_ptr->initial_upload_done = TRUE; } else { glBindTexture(GL_TEXTURE_2D, cur_tex); LEAVE_GL();